用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-仅使用具有字段name_id的MongoDB创建数组

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

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

这将产生以下输出-

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