Я наткнулся на забавное поведение в MongoDB:
Когда я запускаю:
db.getCollection("words").update({ word: { $in: ["nico11"] } }, { $inc: { nbHits: 1 } }, { multi: 1, upsert: 1 })
, он создаст "nico11", если он не существует,и увеличьте nbHits на 1 (как и ожидалось).
Однако при запуске:
db.getCollection("words").update({ word: { $in: ["nico10", "nico11", "nico12"] } }, { $inc: { nbHits: 1 } }, { multi: 1, upsert: 1 })
он будет корректно обновлять ключи, которые уже находятся в БД, , но не вставлятьнедостающие .
Это ожидаемое поведение, и есть ли способ, которым я могу предоставить массив для mongoDB, чтобы он обновлял существующие элементы и создавал те, которые должны быть созданы?