在 MongoDB 中列出某个字段的所有值?
要获取 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() 方法显示集合中的所有文档。查询如下所示 −
> 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 ]
广告