次のようなドキュメントが mongo DB にあるとします。
{
pages: [
{
elements: [
{id:1},
{id:2},
{id:3}
]
},
{
elements: [
...
]
}
]
}
また、ページ内の要素の順序にはセマンティックな意味があります (例: スタッキング)。ここで、最初のページの 2 番目の要素の前に新しい要素を追加したいとします。結果のドキュメントの望ましい状態は次のとおりです。
{
pages: [
{
elements: [
{id:1},
{id:4}, // <------ element inserted here
{id:2},
{id:3}
]
},
{
elements: [
...
]
}
]
}
Mongo docsでは、要素を配列の末尾に追加する方法と既存の要素の値を更新する方法を確認できますが、配列の中央に挿入する方法は確認できません (PHP のarray_spliceに似ています)。これは、目的の要素が途中に挿入された新しい配列に配列全体を再割り当てすることによってのみ可能ですか?