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 );
喵喵時光機
TA貢獻1846條經驗 獲得超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);
});
慕村9548890
TA貢獻1884條經驗 獲得超4個贊
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 關注
- 674 瀏覽
添加回答
舉報
0/150
提交
取消
