亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MongoDB,從數組中刪除對象

MongoDB,從數組中刪除對象

MongoDB,從數組中刪除對象文檔:{    _id: 5150a1199fac0e6910000002,    name: 'some name,    items: [{       id: 23,       name: 'item name 23'    },{       id: 24,       name: 'item name 24'    }]}有沒有辦法從數組中提取特定對象?IE如何從items數組中提取id為23的整個item對象。我試過了:db.mycollection.update({'_id': ObjectId("5150a1199fac0e6910000002")}, {$pull: {id: 23}});但是我很確定我沒有正確使用'pull'。根據我的理解,pull將從數組中提取字段而不是對象。任何想法如何將整個對象拉出陣列。作為獎勵,我試圖在mongoose / nodejs中執行此操作,并且不確定這種類型的東西是否在mongoose API中但我找不到它。
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

嘗試..

db.mycollection.update(
    {'_id': ObjectId("5150a1199fac0e6910000002")}, 
    { $pull: { "items" : { id: 23 } } },false,true );


查看完整回答
反對 回復 2019-07-24
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

我有一個類似的文件

我必須從地址數組中刪除地址

在網上搜索了很多我找到了解決方案

Customer.findOneAndUpdate(query, {$pull: {address: addressId}}, function(err, data){
        if(err) {
          return res.status(500).json({'error' : 'error in deleting address'});
        }

        res.json(data);

      });


查看完整回答
反對 回復 2019-07-24
?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

my database:->
        {
       "_id" : ObjectId("5806056dce046557874d3ab18"),
       "data" : [ 
           {
               "id" : 1
           }, 
           {
               "id" : 2
           }, 
           {
               "id" : 3
           }
       ]
    }MY QUERY:->db.getCollection('play_table').update({},{$pull:{"data":{"id":3}}},{multi:true}OutPut:->{
  "_id" : ObjectId("5806056dce046557874d3ab18"),
       "data" : [ 
           {
               "id" : 1
           }, 
           {
               "id" : 2
           }
       ]
    }


查看完整回答
反對 回復 2019-07-24
  • 3 回答
  • 0 關注
  • 1152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號