MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come aggiornare una serie di documenti secondari su una raccolta MongoDB in MeteorJS

È importante ricordare che il modificatore è solo un oggetto. Il seguente oggetto letterale:

{
  a: 1, b: 1,
  a: 2, b: 2
}

restituisce:

{ a: 2, b: 2 }

perché le chiavi vengono assegnate due volte e vince l'ultima scrittura.

Nel tuo codice, la stessa idea si applica a $addToSet e $inc chiavi. Per risolverlo, scrivi il tuo update così:

Ideas.update("bKXXrpYmppFBfq9Kx", {
  $addToSet: {
    score: { userId: someUser._id, score: 1 },
    votedOnBy: someUser._id
  },
  $inc: {
    overallScore: 1,
    timesVotedOn: 1
  }
});