2016-01-18 1 views
7
db.movieDetails.updateMany({ 
    "tomato.consensus": null, 
    "imdb.votes":{$lt:10000}, 
    "year":{$gte:2010,$lte:2013}}, 
    { 
     $unset:{"tomato.consensus":"" 
    } 
}) 

Когда я набрал команду выше в оболочке mongo, я получил сообщение об ошибке, в котором указано, что updateMany недействительна.Является ли функция updateMany от mongodb устаревшей?

TypeError: Property 'updateMany' of object video.movieDetails is not a function at (shell):1:17

Я проверил документацию и updateMany перечислен действительную функцию. Я хотел бы знать, почему я получил ошибку.

ответ

5

Команда updateMany устарела. Здесь вы найдете документацию для команды: db.collection.updateMany.

Вам не удалось использовать команду, потому что она была введена в версии MongoDB 3.2. Вам необходимо установить версию 3.2, чтобы использовать команду updateMany.

+0

Спасибо, я использовал 3.0.2 :( –

+5

Из моего чтения документа 'update', используя флаг' multi', должен делать то же самое, что и 'updateMany'. Это правда? – matth

+0

@matth, если вы используете monogdb 2.2 then db.test.update ({foo: "bar"}, {$ set: {test: "success!"}}, {multi: true}) – Nitin