假设我在 mongo DB 中有一个文件,如下所示:
{
pages: [
{
elements: [
{id:1},
{id:2},
{id:3}
]
},
{
elements: [
...
]
}
]
}
并且页面内元素的顺序具有语义意义(例如,堆叠)。现在说我想在第一页的第二个元素之前添加一个新元素。生成的文档的期望状态是这样的:
{
pages: [
{
elements: [
{id:1},
{id:4}, // <------ element inserted here
{id:2},
{id:3}
]
},
{
elements: [
...
]
}
]
}
在Mongo 文档中,我看到了如何将元素添加到数组的末尾以及如何更新现有元素的值,但没有看到如何插入到数组的中间(à la PHP 的array_splice)。这是否只能通过将整个数组重新分配给一个新数组并在中间插入所需元素来实现?