2016-04-19 13 views
14

Sto tentando di aggiornare più documenti su mongo db. quale è il miglior metodo di aggiornamento con metodo multi = true o updateMany? e qual è la differenza tra loro?Qual è la differenza tra il metodo update e updateMany in mongo DB?

+3

Sospetto che uno sia l'involucro per l'altro. –

+2

Come da registro modifiche (https://docs.mongodb.org/manual/release-notes/3.2/): È \t Equivalente a db.collection.update (, , {multi: true, ...}) con un documento che specifica le modifiche utilizzando gli operatori di aggiornamento e l'opzione multi impostata su true. –

+5

Ciò che @SergioTulentsev ha detto è la dichiarazione più vera. Riguarda principalmente la distinzione di '.updateOne()' e '.updateMany()' che rispettivamente "omettono" l'opzione "" multi "' all'interno di "wrapped" '.update()' o "include" esplicitamente. Alcuni documenti di documentazione indicano '.update()' come deprecato, ma questo non è del tutto vero, dato che ** tutti ** di quei driver chiamano in realtà '.update()' all'interno del loro implacativo '.updateOne()' e ' .updateMany() 'metodi. Non è altro che semantica, ed entrambi sono proprio uguali. –

risposta

3

Troppo espandere il Blakes Seven s risposta, tutte le update sul metodo non è impostata semplicemente l'opzione multi false come visto here (github).

E a sua volta tutto il metodo updateMany è impostato su multi su true come visto here (github).

Quindi non esiste un metodo "migliore" per chiamare, basta scegliere quello che si ritiene adatto alla situazione.

Problemi correlati