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

Как обновить, если существует, иначе вставить новый документ в 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?
  • Строка Node.js Mongoose.js для функции ObjectId
  • Как получить доступ к существующей коллекции с помощью Mongoose?
  • Заseleniumие Mongoose vs вложенность объекта
  • Как вернуть результаты Mongoose из метода поиска?
  • E11000 дублирует ключевой индекс ошибки в mongodb mongoose
  • Как заполнить субдокумент в мангусте после его создания?
  • Заполнение вложенного массива в мангусте
  • (узел: 3341) Устаревание Предупреждение: Mongoose: mpromise
  • MongoDB - получать документы с максимальным атрибутом для каждой группы в коллекции
  • Сравнение mongoose _id и строк
  • Давайте будем гением компьютера.