Обновите массив с помощью Jongo

У меня есть коллекция mongodb вида

{
  "_id":"id",
  "userEmail":"userEmailFromCustomerCollection",
  "customerFavs":[
    "www.xyz.com",
    "www.xyz.com",
    "www.xyz.com"

    ]
}

Мне нужно добавить элемент в массив favs клиентов с помощью Jongo, для этого я использую следующий фрагмент кода.

String query = "{userEmail:'"+emailId+"'}";
    customerFavCollection.update(query).with("{$addToSet:{customerFavs:#}}", favUrl);

Моя проблема в том, что мне нужно сохранить документ, если документ еще не существует, как я могу это сделать с помощью Jongo, я знаю, что проще было бы получить документ по идентификатору, и если он не существует, вставьте документ используя save(), но я пытаюсь избежать дополнительного извлечения.

1 ответ

Можете добавить upsert() по запросу.

customerFavCollection.update("userEmail:#", emailId)
                     .with("{$addToSet:{customerFavs:#}}", favUrl)
                     .upsert();
Другие вопросы по тегам