Например у меня есть эта структура:MongoDB продолжают тянуть из текущего документа
> db.test.find().pretty()
{
"_id" : ObjectId("52ce7b49074b355233e6e2fb"),
"gifts" : [
{
"gid" : "lala",
"reserv" : [
555,
666
]
},
{
"gid" : "bebe",
"reserv" : [
888,
555
]
}
],
"uid" : 123
}
Я хочу, чтобы вытащить «555» из всех «Reserv» и из всех документов «UID» и содержание «Reserv»:
1) Этот запрос найти первые 555 и вытащить его, но второй 555 в документе не тянуть:
db.test.update({uid : 123, 'gifts.reserv': 555}, {'$pull' : {'gifts.$.reserv' : 555}}, {multi : true})
2) в этом ничего запросе сделать:
db.test.update({uid : 123, 'gifts.reserv': 555}, {'$pull' : {'gifts.reserv' : 555}}, {multi : true})
Поэтому я не могу продолжить обновление последнего документа обновления.
Как решить эту проблему?
Итак, я думаю, что это «шип». Лучшее решение - перестроить коллекцию, чтобы раскрутить массив подарков или сделать отдельную коллекцию подарков. – Logioniz
Что значит «шип»? – rednaw
Плохое решение этого вопроса. – Logioniz