Bir mongodb belgesindeki bir dizide bulunan tek bir alt bileşeni güncellemeye çalışıyorum. Dizi dizini kullanarak alana başvurmak istiyorum (dizideki öğeler benzersiz tanımlayıcılar olacağından emin olabileceğim herhangi bir alana sahip değil). Bunun kolay olması gerektiği gibi görünüyor, ama sözdizimini anlayamıyorum.MongoDB: Dizideki dizin tarafından başvurulan bir dizideki tek bir alt öğeyi nasıl güncellerim?
İşte pseudo-json'da yapmak istediğim şey.
önce:
{
_id : ...,
other_stuff ... ,
my_array : [
{ ... old content A ... },
{ ... NEW content B ... },
{ ... old content C ... }
]
}
böyle bir şey olmalı sorguya benziyor:
//pseudocode
db.my_collection.update(
{_id: ObjectId(document_id), my_array.1 : 1 },
{my_array.$.content: NEW content B }
)
Ama bu işe yaramazsa
{
_id : ...,
other_stuff ... ,
my_array : [
{ ... old content A ... },
{ ... old content B ... },
{ ... old content C ... }
]
}
sonra. Uzun zamandır mongodb dokümanı araştırmayı ve bu sözdiziminde farklı varyasyonları denemeyi (örneğin, $slice
vb. Kullanarak) geçirdim. MongoDB'de bu tür bir güncellemenin nasıl gerçekleştirileceğine dair net bir açıklama bulamıyorum.
Hayır .. .. öyleydi Gerçekten bilinmeyen. – Moumit