使用nodejs脚本删除mongdb中的重复数据
时间: 2024-02-09 16:11:49 浏览: 136
nodejs将mysql数据库中的数据导出成excel表格文件
可以使用以下代码来删除 MongoDB 中的重复数据:
```javascript
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
const dbName = 'myDB';
MongoClient.connect(url, function(err, client) {
if (err) throw err;
const db = client.db(dbName);
const collection = db.collection('myCollection');
collection.aggregate([
{ $group: { _id: { field1: "$field1", field2: "$field2" }, dups: { $addToSet: "$_id" }, count: { $sum: 1 } } },
{ $match: { count: { $gt: 1 } } }
]).toArray(function(err, results) {
if (err) throw err;
results.forEach(function(result) {
result.dups.shift();
collection.remove({ _id: { $in: result.dups } }, function(err, result) {
if (err) throw err;
console.log(result.result.n + ' documents deleted');
});
});
client.close();
});
});
```
这段代码会对指定的 collection 进行聚合操作,找出重复的数据,并删除其中的重复项。其中,`field1` 和 `field2` 是用来判断重复的字段,你需要将它们改成你自己的字段名。另外,`myDB` 和 `myCollection` 分别是你的数据库名和集合名,也需要修改。
阅读全文