第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么會執(zhí)行結(jié)果正常 請問是怎么回事?

為什么會執(zhí)行結(jié)果正常 請問是怎么回事?

慕標(biāo)琳琳 2023-04-30 15:11:48
測試數(shù)據(jù):{ "_id" : ObjectId("4b97e62bf1d8c7152c9ccb74"), "title" :  "ABC",    "comments" : [ { "by" : "joe", "votes" : 3 }, { "by" : "jane",  "votes" : 7 } ] }執(zhí)行更新語句:語句一:db.mydb.update({title:"ABC"}, {$inc:{"comments.$.votes":1}}, 0, 1)執(zhí)行報錯:Cannot apply the positional operator without a corresponding query field containing an array.語句二:db.mydb.update({"comments.by":"joe"}, {$inc:{"comments.$.votes":1}}, 0, 1)
查看完整描述

2 回答

?
holdtom

TA貢獻1805條經(jīng)驗 獲得超10個贊

"comments" : [ { "by" : "joe", "votes" : 3 }, { "by" : "jane", 
"votes" : 7 } ]

這里 comments 是一個 array (見報錯信息),如果要更新的話需要遍歷


查看完整回答
反對 回復(fù) 2023-05-03
?
江戶川亂折騰

TA貢獻1851條經(jīng)驗 獲得超5個贊

comments是一個array,但是不用遍歷。樓主用的"$"就是解決辦法。只是用錯了。來看一下$到底什么意思。

update的前兩個參數(shù)<查詢條件>和<更新操作>中,如果你在<查詢條件>中查詢的內(nèi)容是array里的內(nèi)容,<更新操作>中就可以使用"$"來引用前查詢中匹配到的元素。

你的第二個例子就是在查詢一個array。在第一個例子里,你找到了title="ABC"的doc, 這里匹配查詢條件的不包含array. 實際上,你可以把兩個例子中的的查詢條件寫在一起,查詢 title="...",同時有Joe留言的那個doc, 然后,把找到的這個Joe的留言的投票+1.


查看完整回答
反對 回復(fù) 2023-05-03
  • 2 回答
  • 0 關(guān)注
  • 249 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號