Как обновить, если существует, иначе вставить новый документ?

Как обновить, если существует, иначе вставить новый документ в javascript / node.js? Я получаю в качестве параметра функцию словаря, если словарь содержит _id, необходимо обновить, иначе вставить на удаленный сервер (у меня есть соединение с удаленным сервером через mongoose, и у меня есть персональная схема, которую я хочу вставить / обновить).

В Mongoose вы должны использовать Person.update для документации . Чтобы создать документ, если он еще не существует, вам необходимо передать { upsert : true } в hash-опции, поскольку по умолчанию он равен false .

т.е.

 Person.update( { name : 'Ted' }, { name : 'Ted', age : 50 }, { upsert : true }, callback ); 

collection.update с upsert:true . См. Также здесь .

[db.collection.replaceOne(filter, replacement, options)] с upsert:true

Например, отсюда :

 try { db.restaurant.replaceOne( { "name" : "Pizza Rat's Pizzaria" }, { "_id": 4, "name" : "Pizza Rat's Pizzaria", "Borough" : "Manhattan", "violations" : 8 }, { upsert: true } ); } catch (e){ print(e); } 
  • Что такое ошибка Mongoose Присвоение объекта ObjectId не удалось для значения XXX по пути «_id»?
  • Как защитить поле пароля в Mongoose / MongoDB, чтобы он не возвращался в запрос при заполнении коллекций?
  • как использовать заполнение и совокупность в одном выражении?
  • Как я могу запросить различные значения в Mongoose?
  • толкание объекта в схему массива в Mongoose
  • Как удалить базу данных с помощью Mongoose?
  • Строка Node.js Mongoose.js для функции ObjectId
  • Невозможно перезаписать модель после компиляции Mongoose
  • Загрузка изображений с использованием Node.js, Express и Mongoose
  • Model.find (). ToArray () утверждает, что не имеет метода .toArray ()
  • Как рисовать с помощью Mongoose в Node.js?
  • Interesting Posts

    Почему strace sudo командует бомбами, когда команда sudo работает?

    Есть ли опция -remote для vim (а не gVim) в cygwin?

    Не удалось инициализировать систему конфигурации

    Как изменить цвет фона сетки в excel при изменении значения одного столбца?

    Как вложить выражение EL в другое выражение EL

    Подключиться к главной машине с гостевой ОС VirtualBox?

    Ошибка сегментации сборки после выполнения системного вызова, в конце моего кода

    Ubuntu автоматически монтирует диски NTFS в режиме только для чтения

    Чтение имен файлов из каталога

    Integer.toString (int i) vs String.valueOf (int i)

    Поиск отверстий в 2d точечных множествах?

    Почему OS X Lion запрашивает мой пароль всякий раз, когда я удаляю файл в своем домашнем каталоге?

    Каковы преимущества стирания типов Java?

    Excel 2016: как я могу перемещать данные из строк в столбцы?

    pip3 устанавливает внутри виртуальную среду с ошибкой python3.6 из-за недоступности модуля ssl

    Давайте будем гением компьютера.