我在mongo中有一个具有以下结构的对象(文档)
{
'key1' : 'value1',
'key2' : 'value2',
'array1' : [5, 2, 10, 11]
}
现在我想通过交换2 nd 和3 rd 元素来将array1
更改为[5, 10, 2, 11]
。
我该怎么做?
答案 0 :(得分:0)
好吧,有很多方法可以改组数组元素。你需要弄清楚哪一个最有效率。
e.g。在您的情况下,在客户端修复数组索引并向服务器发出单个更新请求要容易得多。
db.collection.update(
{key1:"value1", key2:"value2"},
{$set:{array1:[5,10,2,11]}}
)
在上述查询的帮助下,您的结果文档将是
{
"_id" : ObjectId("571dfcdce6d693e88c38242f"),
"key1" : "value1",
"key2" : "value2",
"array1" : [
5.0,
10.0,
2.0,
11.0
]
}
但是,如果您想进行实验,请参阅$position运算符