我對用戶來說,這一點架構:貓鼬 - 刪除子文件陣列項目
{
username: String,
contacts: Array
}
因此,例如,一些用戶的聯繫人會是這樣的:
{
username: "user",
contacts: [{'id': ObjectId('525.....etc'), 'approved': false}, {'id':ObjectId('534.....etc'), 'approved': true}]
}
現在我需要刪除項目從聯繫人,所以我這樣做:
model.findByIdAndUpdate(23, {'$pull': {
'contacts':{'id':'525.....etc'}
}});
但似乎不工作,n O錯誤,但它不被刪除,我只是想這個文檔返回給用戶:
{
username: "user",
contacts: [{'id':ObjectId('534.....etc'), 'approved': false}]
}
如何實現這一目標?
喜感謝,但現在我得到這個錯誤:** [MongoError:例外:不能使用的部分(contacts.id的觸點)橫貫元件({聯繫人:[{ID:物件( '543394bb964ac60915ceba8b' ),批准:false},{id:ObjectId('543399f9964ac60915ceba8c'),approved:false}]})**這可能是什麼?我用你的點註釋 - – sbaaaang 2014-10-08 09:08:39
@sbaaaang你究竟在做什麼?你是否按照你的要求使用了「點符號」形式?順便說一句,謝謝你清楚地表明你的實際數據與你發佈的不同,這可能再次成爲問題的一部分。請編輯以顯示您的真實數據結構。 – 2014-10-08 09:20:45
是使用*點符號*像你說的,是的即時通訊使用ObjectIds,但這不是我想的問題:P不準? (編輯問題) – sbaaaang 2014-10-08 09:21:41