我对用户来说,这一点架构:猫鼬 - 删除子文件阵列项目
{
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