2014-04-19 12 views
6

Questo sembra davvero scarsamente documentato .. L'esempio documentation ha appena ricevuto l'aggiornamento callback. C'è un collegamento che reindirizza a Model.updatehere e l'esempio mostra i parametri del callback sono (err, numberAffected, raw).Quali sono tutti i possibili parametri di callback per l'aggiornamento del documento # mangusta?

Il callback dell'aggiornamento del documento # ha gli stessi parametri? Speravo di ottenere il documento aggiornato restituito. La mia ricerca iniziale era basata su how to update a document in mongo db ma anche la risposta non spiega o elenca i parametri del callback.

risposta

9

Una scarsa documentazione dei parametri di callback è qualcosa che ha danneggiato molte librerie node.js per qualche motivo. Ma il comando update di MongoDB (indipendentemente dal driver) non fornisce l'accesso al documento aggiornato, quindi puoi essere certo che non sia fornito per il callback.

Se si desidera che il documento aggiornato, quindi è possibile utilizzare uno dei findAndModify metodi come findOneAndUpdate:

MyModel.findOneAndUpdate({_id: 1}, {$inc: {count: 1}}, {new: true}, function (err, doc) { 
    // doc contains the modified document 
}); 

Partendo Mangusta 4.0 è necessario fornire l'opzione {new: true} nella chiamata per ottenere il documento aggiornato, come predefinito è ora false che restituisce l'originale.

0

num-affected è in realtà l'output mongoDB non elaborato e un oggetto . Ecco come si presenta:

{ok: 1, nModified: 0, n: 1} 

Purtroppo non ho idea di cosa nSet di mezzi di proprietà. 'n' è il numero precedente (pre 4.0) delle righe interessate

Problemi correlati