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

一只斗牛犬
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
嘗試..
db.mycollection.update( {'_id': ObjectId("5150a1199fac0e6910000002")}, { $pull: { "items" : { id: 23 } } },false,true );

喵喵時(shí)光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
我有一個(gè)類(lèi)似的文件
我必須從地址數(shù)組中刪除地址
在網(wǎng)上搜索了很多我找到了解決方案
Customer.findOneAndUpdate(query, {$pull: {address: addressId}}, function(err, data){ if(err) { return res.status(500).json({'error' : 'error in deleting address'}); } res.json(data); });

慕村9548890
TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
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 } ] }
- 3 回答
- 0 關(guān)注
- 670 瀏覽
添加回答
舉報(bào)
0/150
提交
取消