У меня структуру документа, как это:Обновление элемента в массиве с уникальным идентификатором
Content {
_id: "mongoId"
Title: "Test",
Age: "5",
Peers: [{uniquePeer: "1", Name: "Testy Test", lastModified: "Never"}, {uniquePeer: "2", Name: "Test Tester", lastModified: "Never"}]
}
Так Peers
массив, который имеет уникальный идентификатор. Как я могу обновить lastModified одного из наборов в массиве? Согласно mongodb, я могу только обновить документ, используя уникальный идентификатор документа, но это на верхнем уровне. Как я могу сказать, обновите это поле lastModified
в этом наборе Peers
с uniquePeer
из 1 в этом документе?
Edit:
Content.update({"_id" : "mongoId", "Peers.uniquePeer" : "1"},{$set : {"Peers.$.lastModified" : "Now"}})
я все еще получаю ". Не разрешается Ненадежных код может только обновлять документы по ID"
Я добавил обновление с тем, что вы говорите, является дубликатом. Кажется, я не могу заставить его работать на мою. –
В моем коде мой '' 'uniquePeer''' не является целым числом, это руководство, которое имеет буквы и цифры, поэтому мне нужно поставить цитату вокруг нее. –
Вы правы. Благодарю. Я обновил его. –