【发布时间】:2019-03-08 21:50:20
【问题描述】:
我在 MongoDB 中有一个数据,我想删除所有重复的文档。问题是 MongoDB 为每个项目分配一个唯一的_id,所以我不能只删除重复的项目。我在每个文档中有一个名为name 的字段,我想删除具有相同name 的项目。
例如:
[{_id: 5c7e423f0bdaa9aeb5399e90,
name ="A"
grade = 16
enrolled ="dddh"
},
{_id: 5c7e423f1bdaa9aeb5399e90,
key ="B"
grade =17
note ="ddddd"
},
{_id: 5c7e423d0bdaa9aeb5399e90,
key ="B"
score =17
note ="ddddd"
}]
到:
[{_id: 5c7e423f0bdaa9aeb5399e90,
name ="A"
grade = 16
enrolled ="dddh"
},
{_id: 5c7e423f1bdaa9aeb5399e90,
name ="B"
grade =17
enrolled ="ddddd"
}]
列表可能很大,所以有什么有效的方法吗?
【问题讨论】:
-
请注意,当您声明自己时“MongoDB 为每个项目分配一个唯一的 _id”,但由于“复制/粘贴”,您发布的问题的数据显示相同的
_id值.这可能(并且曾经)让查看问题的人感到困惑。此外,MongoDB 中的文档不是 JSON,当您使用该术语时会进一步混淆 -
_id 值在问题中有所不同。我也在询问 JSON 数组。 MongoDB 中的文档不是 JSON,但我用 JS 处理它们后,它们变成了 JSON。
-
阅读链接。您可以返回删除“重复项”的数据
-
我之前已经阅读过这些链接,但它在我的查询中不起作用,因为
distinct()不适用于sort()和find()
标签: javascript mongodb