MongoDB查询更改数组元素的顺序?

使用交换概念更改数组元素的顺序。让我们创建一个包含文档的集合-

> db.demo301.insertOne({"Name":["Chris","David","Bob"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d6ff55d93261e4bc9ea51")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo301.find();

这将产生以下输出-

{ "_id" : ObjectId("5e4d6ff55d93261e4bc9ea51"), "Name" : [ "Chris", "David", "Bob" ] }

以下是更改数组元素顺序的查询-

> db.demo301.find({}, { Name : 1 }).forEach(function(n) {
...   var t = n.Name[0];
...   n.Name[0] = n.Name[1];
...   n.Name[1] = t;
...   db.demo301.update({ _id: n._id }, { $set: { Name: n.Name } });
...})

find()方法的帮助下显示集合中的所有文档-

> db.demo301.find();

这将产生以下输出-

{ "_id" : ObjectId("5e4d6ff55d93261e4bc9ea51"), "Name" : [ "David", "Chris", "Bob" ] }