使用 MongoDB 查询创建数组?

mongodbdatabasebig data analytics更新于 2026/1/18 3:37:17

您可以使用 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 − 使用 MongoDB 创建仅包含字段 name_id 的数组

如果您只想创建包含字段 name_id 的数组,请使用以下查询。

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

这将产生以下输出 −

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

相关文章