У меня есть БД с набором полей f1, f2, f3, где f3 - массив. Я хотел бы сделать операцию обновления, такими как этогоMongodb update array с другим полем
db.collection.update ({f1: 1}, {$ толчок: {f3: {$ каждый: [значение f2 игровых], $ ломтик: -2}}})
Я искал в Интернете и не мог ничего найти. Я не уверен, что это возможно. Любая помощь приветствуется.
Пример:
Это мой набор документов:
doc1 = { name: "User1", score: "Good", History of scores: ["Good", "Bad", "Average", "Bad"] }
doc2 = { name: "User2", score: "Bad", History of scores: ["Good", "Average", "Average", "Bad"] }
doc3 = { name: "User3", score: "Good", History of scores: ["Good", "Good", "Average", "Good"] }
Теперь предположим, что мы должны вставить соответствующие данные:
{name : "User1", score: "Good"}
Я хотел бы документ обновить историю пользователя User1 так что doc1 становится следующим:
doc1 = { name: "User1", score: "Good", History of scores: ["Bad", "Average", "Bad", "Good"] }
другой того же обновления должны изменить doc1 на:
doc1 = { name: "User1", score: "Good", History of scores: ["Average", "Bad", "Good", "Good"] }
Я надеюсь, что теперь мой вопрос стал яснее. Благодарю.
было бы неплохо, если бы вы добавить пример –
@artech спасибо. Я добавил пример. – Sai