【发布时间】:2014-06-09 23:42:15
【问题描述】:
如何获得一个数组,其中包含集合中所有文档的某个字段的所有值?
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 }
"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] }
"db.collection.ListAllValuesInArrayField(y)" 结果:[1,2,3,4,5,6,1,2,3,4]
另外,我可以让这个数组独一无二吗? [1,2,3,4,5,6]
【问题讨论】:
-
非常感谢!我应该把它拿下来吗?
-
db.distinctAndCount 的 mongo shell 扩展非常好。 stackoverflow.com/a/30215651/1276299
标签: mongodb mongodb-query database