2014-04-16 3 views
0

Je souhaite mettre à jour plusieurs valeurs dans un seul document dans un appel de type mangouste. Est-ce possible?Mises à jour multiples dans un document à l'aide de mongoose

J'ai quelque chose de similaire à ceci:

update = {$inc : { numShown : 1 }, $inc : { secondField.subField : 1 }}; 
options = {}; 
MyModel.findByIdAndUpdate(req._id, update, options, function(err){ 
    if(err){ return console.error(err);} 
} 

Il fonctionne, mais ne met pas à jour quoi que ce soit.

+0

Un objet ne peut pas contenir deux des mêmes touches, avez-vous essayé il passe comme un tableau? 'update = [{$ inc: {numShown: 1}}, {$ inc: {secondField.subField: 1}}];' –

Répondre

2

Vous devez combiner les deux valeurs $inc en un seul objet et citer la clé en pointillé:

update = { $inc : { numShown : 1, 'secondField.subField' : 1 } }; 
+0

parfait, j'ai également oublié de spécifier le nom de la collection dans mon modèle mongoose, ce qui a créé un extra collection sans documents. Je souhaite qu'il y avait un moyen simple de rechercher la base de données plutôt que les collections par id, car ils devraient être uniques. –

Questions connexes