chi*_*gry 37 database mongodb mongodb-query
如何获取包含集合中所有文档的某个字段的所有值的数组?
db.collection:
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "x" : 1 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be7"), "x" : 2 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be8"), "x" : 3 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be9"), "x" : 4 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), "x" : 5 }
Run Code Online (Sandbox Code Playgroud)
"db.collection.ListAllValuesForfield(x)"结果:[1,2,3,4,5]
此外,如果这个字段是一个数组怎么办?
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "y" : [1,2] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be7"), "y" : [3,4] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be8"), "y" : [5,6] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be9"), "y" : [1,2] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), "y" : [3,4] }
Run Code Online (Sandbox Code Playgroud)
"db.collection.ListAllValuesInArrayField(y)"结果:[1,2,3,4,5,6,1,2,3,4]
另外,我可以使这个数组独一无二吗?[1,2,3,4,5,6]
这将返回一个文档数组,只包含它的 x 值......
db.collection.find(
{ },
{ x: 1, y: 0, _id:0 }
)
Run Code Online (Sandbox Code Playgroud)
注意:我的答案是原始答案的一个分支。
在任何“竖起大拇指”之前,“竖起大拇指”接受的答案:)。
db.collection.distinct("NameOfTheField")
在单个集合或视图中查找指定字段的不同值,并在数组中返回结果。
参考:https : //docs.mongodb.com/manual/reference/method/db.collection.distinct/
| 归档时间: |
|
| 查看次数: |
31416 次 |
| 最近记录: |