sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo actualizar una matriz de subdocumentos en una colección MongoDB en MeteorJS

Es importante recordar que el modificador es solo un objeto. El siguiente objeto literal:

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

se evalúa como:

{ a: 2, b: 2 }

porque las claves se asignan dos veces y la última escritura gana.

En su código, la misma idea se aplica al $addToSet y $inc llaves. Para arreglarlo, escribe tu update así:

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