投影結果作為 MongoDB 中所選元素的陣列?


使用 distinct() 函式,因為它可以在單個集合或檢視中查詢指定欄位的不同值,並將結果返回為一個數組。

首先讓我們使用文件建立一個集合 -

> db.projectionListDemo.insertOne({"_id":"1","Subject":["MongoDB","MySQL","Java"]});
{ "acknowledged" : true, "insertedId" : "1" }
> db.projectionListDemo.insertOne({"_id":"2","Subject":["MongoDB","C","C++"]});
{ "acknowledged" : true, "insertedId" : "2" }
> db.projectionListDemo.insertOne({"_id":"3","Subject":["Java","Python"]});
{ "acknowledged" : true, "insertedId" : "3" }

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

> db.projectionListDemo.find().pretty();

輸出

{ "_id" : "1", "Subject" : [ "MongoDB", "MySQL", "Java" ] }
{ "_id" : "2", "Subject" : [ "MongoDB", "C", "C++" ] }
{ "_id" : "3", "Subject" : [ "Java", "Python" ] }

現在,讓我們將結果獲取為一個選定元素的陣列 -

> db.projectionListDemo.distinct('_id', {'Subject' : 'MongoDB'});

輸出

[ "1", "2" ]

更新於:2019 年 7 月 30 日

114 次瀏覽

開啟您的 職業生涯

完成課程認證

開始
廣告
© . All rights reserved.