Модель документа Mongoose.prototype.save() API

Опубликовано: 23 Февраля, 2023

Метод 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