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

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

mongodb中$or和upsert兼容問題

mongodb中$or和upsert兼容問題

肥皂起泡泡 2019-04-09 20:24:56
今天碰到一個問題,當我在update數(shù)據(jù)的時候想使用upsert功能,發(fā)現(xiàn)插入的數(shù)據(jù)并沒有過濾條件中$or的部分,如下:db.msg.update({“type”:“u”,“$or”:[{“from”:1,“to”:2},{“from”:2,“to”:1}]},{“$push”:{“message”:{“data”:“holla”,“status”:false,“time”:newDate()}}},true,true);本來希望的是:如果發(fā)現(xiàn)msg集合中如果沒有對應文檔,則插入,例如上面的這條更新(假設當前集合中不存在from:1,to:2的這個文檔),執(zhí)行完后msg集合中應當出現(xiàn)下面這個文檔:{"from":1,"to":2,"type":"u","message":[{“data”:“holla”,“status”:false,“time”:ISODate("2014-02-12T01:50:40.866Z")}]}可實際情況是插入的數(shù)據(jù)中并不會包含$or部分的條件,請問有沒有解決方案?
查看完整描述

2 回答

?
茅侃侃

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

$upsert當前(2.4)是不支持$and和$or的,據(jù)說2.6支持。見官方issues:
$orpairedwithupsertdoesnotcreatedocumentsforeachorclause
Insertfromupdate(w/upsert:true)ignores$andequalityfields
                            
查看完整回答
反對 回復 2019-04-09
?
MM們

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

upsert本來就是不靠譜的方法,manual上也寫的很清楚
Warning:Toavoidinsertingthesamedocumentmorethanonce,onlyuseupsert:trueifthequeryfieldisuniquelyindexed.
于是被你無視了?
                            
查看完整回答
反對 回復 2019-04-09
  • 2 回答
  • 0 關注
  • 415 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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