在 MongoDB 中使用 $addToSet 显示一个不带重复元素的值?
使用 $addToSet 运算符可确保不会将重复项添加到集合中。我们先创建一个带有文档的集合 −
> db.getDistinctDemo.insertOne({"Values":[100,200]}); { "acknowledged" : true, "insertedId" : ObjectId("5cef69f9ef71edecf6a1f69d") } > db.getDistinctDemo.insertOne({"Values":[300,100]}); { "acknowledged" : true, "insertedId" : ObjectId("5cef6a07ef71edecf6a1f69e") }
使用 find() 方法从集合中显示所有文档 −
> db.getDistinctDemo.find().pretty();
将产生以下输出 −
{ "_id" : ObjectId("5cef69f9ef71edecf6a1f69d"), "Values" : [ 100, 200 ] } { "_id" : ObjectId("5cef6a07ef71edecf6a1f69e"), "Values" : [ 300, 100 ] }
以下是获取 MongoDB 中数组字段的各个级别的查询 −
> db.getDistinctDemo.aggregate([ { "$group": { "_id": 0, "MyValues": { "$addToSet": "$Values" } } } ]);
将产生以下输出 −
{ "_id" : 0, "MyValues" : [ [ 300, 100 ], [ 100, 200 ] ] }
广告