Mit Mungo / MongoDB $addToSet Funktionen auf array von Objekten

sagen, dass ich diese Eigenschaft array ('Artikel') auf einem Mungo schema:

articles: [ 

 {
  kind: 'bear',
  hashtag: 'foo'    
 },

 {
  kind: 'llama',
  hashtag: 'baz',
  },

 {
  kind: 'sheep',
  hashtag: 'bar',
  }

]

wie kann ich

$addToSet https://docs.mongodb.org/manual/reference/operator/update/addToSet/

hinzufügen, die auf dieses array, indem der Wert der hashtag um zu sehen, ob es einzigartig ist?

Wenn ich zum Beispiel hinzufügen wollen, die folgenden Objekte, um die oben genannten array, ich will Mongo auf 'ablehnen' es als eine doppelte:

{
  kind: 'tortoise',
  hashtag: 'foo'

}

weil hashtag=foo hat bereits stattgefunden.

Das problem ist, dass ich nur wissen, wie $addToSet mit einfache arrays von Integer-zahlen...

beispielsweise, wenn der Artikel sah so aus:

articles: [ 1 , 5 , 4, 2]

Ich würde $addToSet wie diese:

var data = {

    "$addToSet": {
     "articles": 9
   }

}

model.update(data);

aber wie kann ich das gleiche erreichen mit einem array von Objekten, wo die einzigartige field ist ein string, in diesem Fall 'hashtag'? Die docs nicht machen dies deutlich, und es scheint, wie ich haben überall gesucht..

Dank

Schreibe einen Kommentar