在 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 ]

更新日期:2019 年 7 月 30 日

1 千+ 檢視

開啟你的 職業

透過完成課程獲取認證

開始
廣告
© . All rights reserved.