У меня есть следующий документ в mongodb:
db.reports.insert({
selection_type: "views",
selection_value: "desktop",
chart_points: [
{
date: "2018-01-01",
value: 1831
},
{
date: "2018-01-02",
value: 0
}
]
})
И я хочу вставить или обновить элемент из chart_points
на основе date
.Я пытаюсь использовать $addToSet
, но это создаст новый элемент в массиве.
Ожидаемый результат:
{
date: "2018-01-02",
value: 2053
}
Результат после использования $addToSet
:
{
date: "2018-01-02",
value: 0
},
{
date: "2018-01-02",
value: 2053
}
Я получаю этот результат после выполнения запроса:
db.reports.update(
{},
{
$addToSet: {
chart_points: {
date: "2018-01-03",
value: 1876
}
}
}
)
ПРИМЕЧАНИЕ. У меня в коллекции только этот документ.