#mongodb #bulkupdate
#mongodb #bulkupdate
Вопрос:
Я немного новичок в MongoDB. Допустим, у меня есть коллекция, имеющая такую структуру:
mycoll
{
_id,
col1 -> NumberInt
}
И в коллекции уже есть тысячи документов. Теперь я хочу обновить каждый документ коллекции, чтобы добавить новое поле (т.Е. col2) типа NumberInt, значение которого будет таким же, как значение поля col1. Есть ли какой-нибудь способ сделать это массово, не запуская команду обновления для каждого документа? В настоящее время я использую MongoDB версии 4.4.1
Ответ №1:
Вы можете использовать функциональность Mongo updateMany().
db.collection.updateMany(
<filter>,
<update>,
{
upsert: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ],
hint: <document|string> // Available starting in MongoDB 4.2.1
}
)
Проверьте эту ссылку для получения дополнительной информации,
обновите много документации