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