【发布时间】:2018-08-16 12:43:31
【问题描述】:
使用 mongo 3.6
$position 用于 mongo $push
如何改变现有数组元素的位置。
{
"name":"a",
"arr":[
{_id:1, val:1},
{_id:3, val:3},
{_id:2, val:2},
]
}
需要将第三个元素的位置改为第二个
【问题讨论】:
-
您可以随时覆盖整个文档(如果一切都失败了)
-
eee ??这很冒险..因为其他人可能正在更新其他内容..
-
您可以只覆盖
arr。它的风险不亚于盲目地将 pos 3 的项目转移到 pos 2(当其他代码可能在几毫秒前这样做时) -
eee??即使那样有风险..它必须更简单..因为有人可能仍在更新 arr 的其他部分
-
mongodb 读取是并行的,但写入是串行的。没有两个写请求同时处理@andNn
标签: mongodb