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

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

即使添加了唯一密鑰,MongoDB也會復制文檔

即使添加了唯一密鑰,MongoDB也會復制文檔

手掌心 2019-11-19 14:42:18
我創(chuàng)建了一個集合并添加了一個像這樣的唯一鍵db.user_services.createIndex({"uid":1 , "sid": 1},{unique:true,dropDups: true})該集合看起來像這樣的“ user_services”{ "_id" : ObjectId("55068b35f791c7f81000002d"), "uid" : 15, "sid" : 1, "rate" : 5},{ "_id" : ObjectId("55068b35f791c7f81000002f"), "uid" : 15, "sid" : 1, "rate" : 4}問題:我正在使用php驅(qū)動程序插入具有相同uid和sid的文檔,并且該文檔正在被插入。我想要的是在Mongo Shell上:在uid和sid上添加唯一鍵,沒有重復的文件使用相同的uid和sid。在PHP方面:具有類似mysql “在重復鍵更新速率= rate + 1上插入(值)”之類的內(nèi)容。就是說,每當我嘗試插入文檔時,如果沒有插入,都應插入它,否則它將更新文檔的費率字段
查看完整描述

2 回答

?
qq_笑_17

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

我覺得對于這種基本的MongoDB操作,當前最流行的答案有點過于本地化和過于詳細-通過鍵從mongo中刪除重復項。


通過mongo> 3.0的鍵刪除重復項很簡單。只需運行此查詢,替換yourDuplicateKey并假設_id您是主鍵(請確保您mongodump以防萬一):


db.yourCollection.aggregate([

    { "$group": {

        "_id": { "yourDuplicateKey": "$yourDuplicateKey" },

        "dups": { "$push": "$_id" },

        "count": { "$sum": 1 }

    }},

    { "$match": { "count": { "$gt": 1 } }}

]).forEach(function(doc) {

    doc.dups.shift();

    db.yourCollection.remove({ "_id": {"$in": doc.dups }});

});


查看完整回答
反對 回復 2019-11-19
  • 2 回答
  • 0 關注
  • 651 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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