我的收藏品名称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
});
答案 0 :(得分:0)
您可以将用户添加到查询中:
post.update({_id: postId,
likes: {$not: {$elemMatch: {user: likeObj.user}}}},
{$addToSet: {"likes": likeObj}} ,function(err,doc){
});