例如,我有這樣的結構: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})
所以我不能繼續更新上次更新文檔。
如何解決這個問題?
因此,我認爲這是「秒殺」。 更好的決定是重建集合來展開禮物數組或爲gifts.reserv進行單獨收集。 – Logioniz
「秒殺」是什麼意思? – rednaw
這個問題的錯誤決定。 – Logioniz