Я пытаюсь вставить документ с вложенными массивами в качестве объектов-значений, но mon go преобразует вложенный массив в индексированный объект.
db.myCollection.insertMany([
{
_id: ObjectId("5e41974d65f219c3310f2b4f"),
_class: "myClass",
myFirstLevelArray: [
{
myNestedArray: [
{
value: "value",
value2: "value2"
},
{
value: "value",
value2: "value2"
}
]
}
]
}]);
Я ожидаю, что mon go хранит следующий объект:
{
_id: ObjectId("5e41974d65f219c3310f2b4f"),
_class: "myClass",
myFirstLevelArray: [
{
myNestedArray: [
{
value: "value",
value2: "value2"
},
{
value: "value",
value2: "value2"
}
]
}
]
}
Но я получаю следующее:
{
_id: ObjectId("5e41974d65f219c3310f2b4f"),
_class: "myClass",
myFirstLevelArray: [
{
myNestedArray: {
'0': {
value: "value",
value2: "value2"
},
'1': {
value: "value",
value2: "value2"
}
}
}
]
}
Я подумал, что мне может понадобиться добавить ключевое слово $each
или что-то в этом роде, но, похоже, что они не подходят для операторов вставки. Что-то не так с утверждением? Нужно ли на нем ставить какой-то флаг или это какая-то ошибка?