mongodb去除重複的資料
裡邊的內容在某些情況下不可行,可以參考下一篇。
今天出現了一個新的需求,有個部門需要拿到mongodb中的資料,要求去掉其中一個欄位內容相同的資料。
雖然mongodb中有distinct來去重,但是和mysql的distinct不同的是,mysql中能用distinct * 返回整條記錄的資訊,而mongodb的distinct我卻只是返回去重的那個欄位的資料(或許mongodb也可以返回整條,但是我不知道)。
mysql中的distinct返回完整記錄:
mongodb中distinct去重某個欄位:
上邊的內容並不是我想看到的結果,因此便想了一個辦法,去掉重複的資料後重新儲存不重複的資料到某張表中,以下是個例子:
1、進入mongo shell:
./mongo
2、切換到需要去重的集合所在的資料庫:
use admin
3、在mongo shell中編寫並執行js程式碼:
var res=db.test.find();
while(res.hasNext()){
var res1=db.test.find();
var re=res.next();
while(res1.hasNext()){
var re1=res1.next();
if(re.age==re1.age){
db.test.remove({"age":re1.age});
}
}
db.test.insert(re);
}
如上圖,第一次執行迴圈的時候由於res沒有定義而失敗,第二次定義了res後,執行成功。那麼在新的集合中,就完全沒有該欄位重複的資料了(這裡只是測試以下,因此就用了同一個集合)。
相關文章
- mongodb如何去除重複資料MongoDB
- 測試去除重複資料
- 資料處理之去除重複資料
- mongodb刪除重複資料MongoDB
- php資料庫資料如何去除重複資料呢?PHP資料庫
- Python中去除重複資料的方法有哪些?Python
- UNIX下去除檔案中重複資料的方法(轉)
- Mongodb 刪除重複資料的幾個方法MongoDB
- js去除重複字串JS字串
- asp.net 之StringBuilder 去除重複資料ASP.NETUI
- List中去除重複物件物件
- 使用HashSet<>去除重複元素的集合
- 陣列去除重複的幾個方法陣列
- python中列表如何去除重複Python
- 如何去除 EXCEL 檔案中的重複行Excel
- mysql去除某些欄位重複的紀錄MySql
- 如何去除有序陣列中的重複元素陣列
- PHP陣列去除空白或重複元素PHP陣列
- 利用excel去除txt文字中重複項Excel
- 正規表示式去除連續重複的字元字元
- php多維陣列去除重複值的方法PHP陣列
- 去除重複字母(不同字元的最小序列)問題字元
- mysql查詢表裡的重複資料方法和刪除重複資料MySql
- Java基礎之去除List集合中的重複元素Java
- js 的陣列去除重複元素程式碼例項JS陣列
- 如何去除 Excel 2010 中的重複項Excel
- JAVA 如何實現大文字去除重複行Java
- 使用Oracle分析函式去除重複記錄Oracle函式
- 力扣-316. 去除重複字母力扣
- MySQL 查詢重複的資料MySql
- 刪除重複資料
- mysql 清除重複資料MySql
- MongoDB複製集資料同步流程MongoDB
- Oracle:重複資料去重,只取最新的一條資料Oracle
- [Leetcode]316.去除重複字母LeetCode
- mongodb 重複建立索引不報錯MongoDB索引
- MySQL資料庫行去重複和列去重複MySql資料庫
- dataset 判斷整列是否有重複,找出重複資料