当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Mongoose Document Model.prototype.save()用法及代码示例


Mongoose API 的 Model.save() 方法用于保存文档中所做的更改并更新集合中的最新更改。我们可以在 mongoose 集合的任何模型对象上使用 save() 方法。

用法:

Model.save()

参数: 型号.save()方法接受两个参数:

  • options:它是一个具有各种属性的对象。
  • callback:它是一个回调函数,一旦执行完成就会运行。

返回值: 型号.save()函数返回一个承诺。结果包含模型的对象。

设置 Node.js 应用程序:

步骤 1:使用以下命令创建 Node.js 应用程序:

npm init

步骤 2:创建 NodeJS 应用程序后,使用以下命令安装所需的模块:

npm install mongoose

项目结构: 项目结构将如下所示:

数据库结构:数据库结构如下所示,集合中存在以下文档。

示例 1:在此示例中,我们使用 mongoose 建立了数据库连接,并在 userSchema 上定义了一个模型,具有两列或字段 “name” 和 “age”。最后,我们在 User 模型对象上使用 save() 方法,它将保存集合中 “age” 属性的更新值。

app.js:在app.js文件中写下以下代码:

Javascript


// Require mongoose module
const mongoose = require("mongoose");
// Set Up the Database connection
mongoose.connect("mongodb://localhost:27017/geeksforgeeks", {
    useNewUrlParser: true,
    useUnifiedTopology: true,
});
let userSchema = new mongoose.Schema({
    name: String,
    age: Number,
});
// Defining userSchema model
let 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 工具的数据库的 GUI 表示:

示例 2:在此示例中,我们使用 mongoose 建立了数据库连接,并在 userSchema 上定义了一个模型,具有两列或字段 “name” 和 “age”。我们定义了一个名为“updateDocument”的函数,以便我们可以通过异步函数利用save()方法函数。

app.js:在app.js文件中写下以下代码:

Javascript


// Require mongoose module
const mongoose = require("mongoose");
// Set Up the Database connection
mongoose.connect("mongodb://localhost:27017/geeksforgeeks", {
    useNewUrlParser: true,
    useUnifiedTopology: true,
});
let userSchema = new mongoose.Schema({
    name: String,
    age: Number,
});
// Defining userSchema model
let User = mongoose.model("User", userSchema);
let 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 工具的数据库的 GUI 表示:

参考:https://mongoosejs.com/docs/api/model.html#model_Model-save



相关用法


注:本文由纯净天空筛选整理自kartikmukati大神的英文原创作品 Mongoose Document Model.prototype.save() API。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。