【发布时间】:2013-01-23 07:50:54
【问题描述】:
假设我在 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 docs 中,我看到了如何将元素添加到数组的末尾以及如何更新现有元素的值,但不知道如何插入到数组的中间(à la PHP's array_splice) .这是否只能通过将整个数组重新分配给一个新数组并在中间插入所需元素来实现?
【问题讨论】:
标签: javascript arrays mongodb splice