MongoDB刪除字段重複資料

2021-09-13 15:38:56 字數 815 閱讀 8327

1.查詢表中相同字段

查詢表中字段為'bqyid'相同的字段

db.restominprice.aggregate([,

'uniqueids':,

'count':

}},}}],

)

2.刪除表中相同資料

查詢和刪除語句,刪除語句後面新增foreach迴圈

db.restominprice.aggregate([,

'uniqueids':,

'count':

}},}}],

).foreach(function(doc)});

});

1.根據bqyid分組並統計數量,$group只會返回參與分組的字段,使用$addtoset在返回結果陣列中增加_id欄位

2.使用$match匹配數量大於1的資料

3.doc.uniqueids.shift();表示從陣列第乙個值開始刪除;作用是踢除重複資料其中乙個_id,讓後面的刪除語句不會刪除所有資料

4.使用foreach迴圈根據_id刪除資料

$addtoset 操作符只有在值沒有存在於陣列中時才會向陣列中新增乙個值。如果值已經存在於陣列中,$addtoset返回,不會修改陣列。

注意:foreach和$addtoset的駝峰寫法不能全部寫成小寫,因為mongodb嚴格區分大小寫、mongodb嚴格區分大小寫、mongodb嚴格區分大小寫,重要的事情說三遍!

--------------------- 

原文: 

mongoDb刪除重複資料

注 mongodb當前版本是3.4.3 插入六條資料 查詢存在重複的資料 查詢並迴圈刪除重複資料 刪除語句解析 db.userinfo.aggregate group count dups match foreach function doc 1.根據username和age分組並統計數量,grou...

mongoDb刪除重複資料

注 mongodb當前版本是3.4.3 查詢存在重複的資料 查詢並迴圈刪除重複資料 刪除語句解析 db.userinfo.aggregate group count dups match foreach function doc 1.根據username和age分組並統計數量,group只會返回參與...

刪除重複資料

介紹兩種刪除重複行的方式 1.使用臨時表,分組找出重複部分的id進行刪除 刪除table goods info 中存在重複goods id的記錄 select identity int,1,1 as autoid,into temptable from goods info select min a...