要获取MongoDB中某些字段的所有值的列表,可以使用distinct()
。语法如下-
db.yourCollectionName.distinct( "yourFieldName");
为了理解上述语法,让我们用文档创建一个集合。使用文档创建集合的查询如下-
> db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[10,20,30]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8fc89ed3c9d04998abf011") } > db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[40,50,60]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8fc8abd3c9d04998abf012") } > db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[10,20,30]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8fc8d7d3c9d04998abf013") } > db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[40,50,70]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8fc8e2d3c9d04998abf014") }
在find()
method的帮助下显示集合中的所有文档。查询如下-
> db.listAllValuesOfCeratinFieldsDemo.find().pretty();
以下是输出-
{ "_id" : ObjectId("5c8fc89ed3c9d04998abf011"), "ListOfValues" : [ 10, 20, 30 ] } { "_id" : ObjectId("5c8fc8abd3c9d04998abf012"), "ListOfValues" : [ 40, 50, 60 ] } { "_id" : ObjectId("5c8fc8d7d3c9d04998abf013"), "ListOfValues" : [ 10, 20, 30 ] } { "_id" : ObjectId("5c8fc8e2d3c9d04998abf014"), "ListOfValues" : [ 40, 50, 70 ] }
这是获取MongoDB中某个字段的所有值的列表的查询。我们正在显示字段'ListOfValues'的记录-
> db.listAllValuesOfCeratinFieldsDemo.distinct( "ListOfValues");
以下是输出-
[ 10, 20, 30, 40, 50, 60, 70 ]