Я хотел бы вставить документ, который выглядит следующим образом:
{
name: "app1",
theArray: [...unique string elements...]
}
Я попытался сделать upsert
, используя запрос ниже, но он каким-то образом создает массив в массиве, если документ не существует. Если я использую $push
, когда документ не существует, то массив создается нормально. Однако мне нужно использовать $addToSet
для поддержания уникальности элемента массива.
Текущий запрос:
collection1.upsert({
name: "app1",
}, {
$addToSet: {
theArray: data // data is an array of ip addresses eg. ["1.1.1", "2.2.2.2"] which is not unique
}
});
Выполнение вышеуказанного запроса, когда в базе данных нет существующего документа, создает:
{
name: "app-1",
theArray: [
//another array that contains the actual data.
]
}
Есть ли способ, которым я могу получить это поведение с помощью одного запроса?