fand ich eine embedded document
in meiner Sammlung Namen haben als likes
:Zur Sammlung hinzufügen, wenn nicht
{
"_id" : ObjectId("57a31e18fa0299542ab8dd80"),
"created" : ISODate("2016-08-04T10:51:04.971Z"),
"likes" : [
{
"user" : ObjectId("1"),
"date" : 123
},
{
"user" : ObjectId("2"),
"date" : 456
}
],
"comments" : [],
"tag" : []
}
A User
kann wie nur einmal. Es darf also nur einen Eintrag pro User
geben.
Das Problem ist: Es sucht nach date
auch in der Objektliste, obwohl ich die user
nur durchsuchen möchten und current date
hinzufügen, wenn der Eintrag nicht gefunden. Denn date
unterscheidet sich jedes Mal und ich bekomme doppelte Einträge für die gleichen user
.
Hier ist meine mongoose
query:
var likeObj = {
"user": "1", //user id
"date": Utils.getUnixTimeStamp() //date
};
post.update({_id: postId}, {$addToSet: {"likes": likeObj}} ,function(err,doc){
//success
});