Мне нужно обновить поле, которое существует или нет: я пробовал это
db.foo.update( { site: '"wisdom'}, { $set: {'club': 'fc barcelona'}}, (upsert=true) )
Вы можете использовать опцию upsert: true для mongodb. По сути, он обновляет документ, если строка запроса совпадает с документом или не соответствует, а затем создает его. По умолчанию установлено значение false.
db.foo.update( { site_id: "xxx" }, { $set: { "title.de": "", "content.de": "" } }, {upsert: true} );
Ссылка: https://docs.mongodb.com/manual/reference/method/db.collection.update/