在 MongoDB 中獲取物件陣列中的不同值?


要從 MongoDB 中的物件陣列中獲取不同值,請使用 distinct()。讓我們建立一個帶有文件的集合 -

> db.demo442.insertOne(
...    {
...
...       "Information" : [
...          {
...             "FirstName" : "John",
...             "Age" : 21
...          },
...          {
...             "FirstName" : "Sam",
...             "Age" : 23
...          },
...          {
...             "FirstName" : "John",
...             "Age" : 24
...          },
...          {
...             "FirstName" : "Carol",
...             "Age" : 20
...          },
...          {
...             "FirstName" : "Sam",
...             "Age" : 22
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e78cf29bbc41e36cc3caeb8")
}

在集合中使用 find() 方法顯示所有文件 -

> db.demo442.find();

這將產生以下輸出 -

{ "_id" : ObjectId("5e78cf29bbc41e36cc3caeb8"), "Information" : [ { "FirstName" : "John", "Age" : 21 }, { "FirstName" : "Sam", "Age" : 23 }, { "FirstName" : "John", "Age" : 24 }, { "FirstName" : "Carol", "Age" : 20 }, { "FirstName" : "Sam", "Age" : 22 } ] }

以下是查詢要在 MongoDB 中從物件陣列中獲取不同值 -

> db.demo442.distinct("Information.FirstName");

這將產生以下輸出 -

[ "Carol", "John", "Sam" ]

更新於: 2020-04-06

1 千+ 次瀏覽

事業從此開始

完成課程,獲取認證

立即開始
廣告
© . All rights reserved.