如何使用 MongoDB 查询创建数组?


你可以使用 toArray() 的概念来创建数组。以下为语法 -

db.yourCollectonName.find({}, {yourFieldName:1}).toArray();

让我们创建一个包含文档的集合 -

> db.createArrayDemo.insertOne({"UserName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cbd6461de8cc557214c0e00")
}
> db.createArrayDemo.insertOne({"UserName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cbd6467de8cc557214c0e01")
}
> db.createArrayDemo.insertOne({"UserName":"Robert"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cbd646cde8cc557214c0e02")
}
> db.createArrayDemo.insertOne({"UserName":"Sam"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cbd6470de8cc557214c0e03")
}

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

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

这将产生以下输出 -

{ "_id" : ObjectId("5cbd6461de8cc557214c0e00"), "UserName" : "Chris" }
{ "_id" : ObjectId("5cbd6467de8cc557214c0e01"), "UserName" : "David" }
{ "_id" : ObjectId("5cbd646cde8cc557214c0e02"), "UserName" : "Robert" }
{ "_id" : ObjectId("5cbd6470de8cc557214c0e03"), "UserName" : "Sam" }

案例 1 - 使用 MongoDB 创建数组。

如果你想创建一个 UserName 字段的数组,并且不想要 _id 字段,请使用以下查询。

> db.createArrayDemo.find({},{_id:0}, {UserName:1}).toArray();

这将产生以下输出 -

[
   {
      "UserName" : "Chris"
   },
   {
      "UserName" : "David"
   },
   {
      "UserName" : "Robert"
   },
   {
      "UserName" : "Sam"
   }
]

案例 2 - 仅使用字段名称 _id 使用 MongoDB 创建数组

如果你想使用字段名称 _id 创建一个数组,请使用以下查询。

> db.createArrayDemo.find({}, {_id:1}).toArray();

这将产生以下输出 -

[
   {
      "_id" : ObjectId("5cbd6461de8cc557214c0e00")
   },
   {
      "_id" : ObjectId("5cbd6467de8cc557214c0e01")
   },
   {
      "_id" : ObjectId("5cbd646cde8cc557214c0e02")
   },
   {
      "_id" : ObjectId("5cbd6470de8cc557214c0e03")
   }
]

更新日期: 30-7-2019

2K+ 浏览

开启你的职业

完成课程获得认证

开始
广告