因此,我在mongodb文档中有一个嵌套的对象数组,并且仅当某个字段(在本例中是eventid)是唯一的时,我想向数组中添加一个新对象。我的问题与
this post
,只有我似乎无法在我的情况下得到解决方案。
这是文件(
UserModel
看起来像:
{
"portal" : {
"events" : [
{
"important" : false,
"completed" : false,
"_id" : ObjectId("5c0c2a93bb49c91ef8de0b21"),
"eventId" : "5bec4a7361853025400ee9e9",
"user_notes" : "My event note"
},
...and so on
]
}
}
我的猫鼬手术(迄今为止没有成功):
UserModel.findByIdAndUpdate(
userId,
{ "portal.events.eventId": { $ne: req.body.eventId } },
{ $addToSet: { "portal.events": req.body } },
{ new: true }
);
基本上我想用
'$ne'
检查字段是否唯一,然后
'$addToSet'
(或)
'$push'
,我相信在这种情况下它们在功能上是等价的)添加新对象。
有人能给我指个正确的方向吗?
干杯,
加布