投影结果作为 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 次浏览

开启您的 职业生涯

完成课程认证

开始
广告