Модель документа Mongoose.prototype.save() API
Метод Model.save() API Mongoose используется для сохранения изменений, внесенных в документ, и обновления последних изменений в коллекции. Мы можем использовать метод save() для любого объекта модели коллекции мангустов.
Синтаксис:
Model.save()
Параметры: метод Model.save() принимает два параметра:
- варианты: Это объект с различными свойствами.
- обратный вызов: это функция обратного вызова, которая запускается после завершения выполнения.
Возвращаемое значение: функция Model.save() возвращает обещание. Результат содержит объект модели.
Настройка приложения Node.js:
Шаг 1. Создайте приложение Node.js с помощью следующей команды:
npm init
Шаг 2: После создания приложения NodeJS установите необходимый модуль с помощью следующей команды:
npm install mongoose
Структура проекта: Структура проекта будет выглядеть следующим образом:
Структура базы данных: Структура базы данных будет выглядеть так, в коллекции присутствуют следующие документы.
Пример 1. В этом примере мы установили соединение с базой данных с помощью мангуста и определили модель через userSchema, имея два столбца или поля «имя» и «возраст». В конце концов, мы используем метод save() для объекта модели User, который сохранит значение обновления для
возраст» в коллекции.
- app.js: запишите приведенный ниже код в файл app.js:
Javascript
// Require mongoose module const mongoose = require( "mongoose" ); // Set Up the Database connection useNewUrlParser: true , useUnifiedTopology: true , }); const userSchema = new mongoose.Schema({ name: String, age: Number, }); // Defining userSchema model const User = mongoose.model( "User" , userSchema); User.findById( "63203694182cd3c22ea480ff" ).then(doc => { doc.age = 20; doc.save().then(result => { console.log(result) }) }); |
Шаг для запуска программы: Чтобы запустить приложение, выполните следующую команду из корневого каталога проекта:
node app.js
Выход:
{ _id: new ObjectId("63203694182cd3c22ea480ff"), name: "User1", age: 20, __v: 0 }
Графическое представление базы данных с помощью инструмента Robo3T GUI:
Пример 2. В этом примере мы установили соединение с базой данных с помощью мангуста и определили модель через userSchema, имея два столбца или поля «имя» и «возраст». Мы определили функцию с именем «updateDocument», чтобы мы могли использовать функциональность метода save() через асинхронную функцию.
- app.js: запишите приведенный ниже код в файл app.js:
Javascript
// Require mongoose module const mongoose = require( "mongoose" ); // Set Up the Database connection useNewUrlParser: true , useUnifiedTopology: true , }); const userSchema = new mongoose.Schema({ name: String, age: Number, }); // Defining userSchema model const User = mongoose.model( "User" , userSchema); const updateDocument = async (age) => { const doc = await User.findById( "63203694182cd3c22ea480ff" ) doc.age = age; const result = await doc.save() console.log(result) } updateDocument(10) |
Шаг для запуска программы: Чтобы запустить приложение, выполните следующую команду из корневого каталога проекта:
node app.js
Выход:
{ _id: new ObjectId("63203694182cd3c22ea480ff"), name: "User1", age: 10, __v: 0 }
Графическое представление базы данных с помощью инструмента Robo3T GUI:
Ссылка: https://mongoosejs.com/docs/api/model.html#model_Model-save