MongoDB过滤某个字段重复值
时间: 2024-09-12 12:06:07 浏览: 34
MongoDB 聚合
在MongoDB中,如果你想过滤掉某个字段有重复值的文档,通常你会使用`distinct()`方法来获取该字段的不同值,而不是直接过滤重复。如果你想查找所有唯一的记录,可以使用`unwind`和`group`操作符。例如,如果你有一个名为`users`的集合,想找出`username`字段下唯一的用户名,可以这样做:
```javascript
db.users.distinct("username")
```
如果需要从整个文档集合中去除重复的文档,可以先将数据转换成无重复键的形式,然后重新插入到新的集合:
```javascript
db.uniqueUsers.insertMany(
db.users.aggregate([
{ $group: { _id: "$username", document: { $first: "$$ROOT" } } },
{ $replaceRoot: { newRoot: "$document" } }
])
)
```
这将创建一个新的集合`uniqueUsers`,其中每个username只有一条记录。
阅读全文