我的embedded document
收藏名称中有一个likes
:
{
"_id" : ObjectId("57a31e18fa0299542ab8dd80"),
"created" : ISODate("2016-08-04T10:51:04.971Z"),
"likes" : [
{
"user" : ObjectId("1"),
"date" : 123
},
{
"user" : ObjectId("2"),
"date" : 456
}
],
"comments" : [],
"tag" : []
}
一个人User
只能喜欢一次。因此,每个只能有一个条目User
。
问题是:date
尽管我只是想搜索user
并添加(current date
如果找不到条目),但它也在对象列表中寻找。因为date
每次都不同,所以我得到相同条目的重复条目user
。
这是我的mongoose
查询:
var likeObj = {
"user": "1", //user id
"date": Utils.getUnixTimeStamp() //date
};
post.update({_id: postId}, {$addToSet: {"likes": likeObj}} ,function(err,doc){
//success
});
您可以将用户添加到查询中:
post.update({_id: postId,
likes: {$not: {$elemMatch: {user: likeObj.user}}}},
{$addToSet: {"likes": likeObj}} ,function(err,doc){
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句