2016-04-19 3 views
14

Я пытаюсь обновить несколько документов на mongo db. который является лучшим методом обновления с помощью метода multi = true или updateMany? и в чем разница между ними?В чем разница между методом update и updateMany в mongo DB?

+3

Я подозреваю, что это оболочка для другого. –

+2

Согласно журналу изменений (https://docs.mongodb.org/manual/release-notes/3.2/): Это \t Эквивалент db.collection.update (, , {multi: true, ...}) с документом , который определяет изменения с использованием операторов обновления, а параметр multi - true. –

+5

Что сказал @SergioTulentsev, это самое истинное утверждение. В основном это касается отличий '.updateOne()' и '.updateMany()', которые соответственно либо «опускают» опцию '' multi '' внутри «завернутого» .update(), либо «include» явно. В некоторых документах драйвера отмечаются '.update()' как устаревшие, но это не совсем так, так как ** все ** этих драйверов на самом деле вызывают '.update()' в рамках имплантации их .updateOne() 'и' .updateMany() '. На самом деле это не что иное, как семантика, и оба они действительно одинаковы. –

ответ

3

Too расширить Blakes Seven сек ответ, все update по методу действительно просто установить параметр multi ложь, как видно here (github).

И, в свою очередь, весь метод updateMany установлен в качестве значения multi. Опионит к истине как видно here (github).

Таким образом, нет никакого «лучшего» метода для вызова, просто выберите то, что вы считаете нужным.

Смежные вопросы