node.js - 返回由 mongoDb 上的特定字段找到的重复文档的 _id 对
问题描述
在我这些天运行的数据库数据迁移期间,我发现保留在集合中的文档不应该再存在了。
我通过 MongoShell 使用以下 MongoDB 聚合方法成功地通过 unitId 字段找到了重复项。
db.collection.aggregate(
{"$group" : { "_id": "$unitId", "count": { "$sum": 1 } } },
{"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } },
{"$project": {"id" : "$_id", "_id" : 0} }
).toArray()
此查询返回:
[{"unitId" : ObjectId("5cfcf47043289e2b4db14d5d")}...]
但我不想删除我发现的重复项。
相反,我想将它们合并到一个包含必要数据的文档中。
我想得到类似以下或类似的结果:
[{_id1: 'xxxxxxxxxx', _id2: 'xxxxxxxxxxx'}...]
我认为 Mongo 在一个查询中返回这些数据会很棒。而不是再次搜索结果数组。
提前致谢 (:
解决方案
推荐阅读
- sas - Why is my proc format changing unrelated variables?
- hadoop - 由于任务失败,作业失败。failedMaps:1 failedReduces:0 使用 hadoop 和 giraph 时出现异常
- arrays - 我可以使用 Arduino 超声波传感器在处理移动/播放时制作图像序列吗?
- c# - 正则表达式为相同的字符串模式属性 C# 使用变量
- amazon-web-services - 结构数据的访问值
- python - 为什么我的主题权重的符号会随着运行而变化?
- javascript - 防止在字符串为空时应用 join() 方法 - Javascript
- c# - C# 反射获取某个类的所有子类并使用它们的类型调用泛型方法
- ruby - if else 语句的复杂性,编码挑战:Ruby
- dask - 将数据帧从 jupyter 加载到 NERSC 集群上的 dask-mpi