我有一个集合,其文档具有指示其顺序和组属性的索引属性:
{
"item": "A1",
"group": "A",
"index": 1
}
{
"item": "A2",
"group": "A",
"index": 2
}
{
"item": "B1",
"group": "B",
"index": 3
}
{
"item": "B2",
"group": "B",
"index": 4
}
{
"item": "C1",
"group": "C",
"index": 5
}
{
"item": "C2",
"group": "C",
"index": 6
}
现在想要根据组的顺序分配新的索引值:例如[B,C,A]应该导致:
{
"item": "B1",
"group": "B",
"index": 1
}
{
"item": "B2",
"group": "B",
"index": 2
}
{
"item": "C1",
"group": "C",
"index": 3
}
{
"item": "C2",
"group": "C",
"index": 4
}
{
"item": "A1",
"group": "A",
"index": 5
}
{
"item": "A2",
"group": "A",
"index": 6
}
有没有办法在一个更新语句中执行此操作,还是必须单独为每个文档运行查询?同样重要的是,组内的初始排序不会发生变化。