В MongoDB 2.6 мы можем использовать $position
(http://docs.mongodb.org/master/reference/operator/update/position/) модификатор указывает местоположение в массиве во время обновления массива в документе. Но я хотел бы вставить в массив в подкаталог .Нажмите элемент в любом положении массива в поддокументе
Схема документа:
{
subdoc: {
array: ['0', '1', '2', '5', '6']
}
}
Следующая обновление толкает элементы в конце array
..
db.collection.update(
{ _id: tsId },
{$push: { 'subdoc.array': { $each:['3', '4'], $position:3 } }});
Таким образом, результат
{
subdoc: {
array: ['0', '1', '2', '5', '6', '3', '4']
}
}
Но я ожидаю
{
subdoc: {
array: ['0', '1', '2', '3', '4', '5', '6']
}
}
Возможно ли это в MongoDB 2.6?
Хороший пример использования нового оператора –