Моя коллекция выглядит следующим образом:
{
"_id" : "ID1234",
"read_object" : "sss-ssss",
"expireAt" : ISODate("2020-04-30T22:00:00.000Z")
}
Если он встречает тот же идентификатор, я бы хотел обновить поле read_object, в противном случае создайте новый документ. Я пытался сделать это так:
db.collection.update(
{ _id: "ID1234" },
{
$set: { read_object: { $concat: ["$read_object", "test"] } },
},
{ upsert: true }
)
, но каждый раз получаю сообщение об ошибке:
The dollar ($) prefixed field '$concat' in 'read_object.$concat' is not valid for storage.
Если я добавлю квадратные скобки перед $ set, например:
db.collection.update(
{ _id: "1b1b871493-14a0-4d21-bd74-086442df953c-2020-02" },
[{
$set: { read_object: { $concat: ["$read_object", "test"] } },
}],
{ upsert: true }
)
Я получаю эту ошибку:
The dollar ($) prefixed field '$concat' in 'read_object.$concat' is not valid for storage.
Где у меня ошибка?