MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Atualizando array com push e slice


Você pode adicionar a pontuação com esta declaração:
db.userscores.update(
  { "name": "John Doe", "levels.level": 1 }, 
  { "$push": { "levels.$.hiscores": 75 } } )

Isso não classifique a matriz, pois isso só é suportado se os elementos da matriz forem documentos.

No MongoDB 2.6, você pode usar a classificação também para arrays que não são de documentos:
db.userscores.update(
  { "name": "John Doe", "levels.level": 1 }, 
  { "$push": { "levels.$.hiscores": { $each: [ 75 ], $sort: -1, $slice: 3 } } } )