Mongoose Query API.prototype.writeConcern()方法

Mongoose Query API.prototype.writeConcern()方法

Mongoose API 中的 Mongoose Query API.prototype.writeConcern() 方法用于操作查询对象。通过该方法,我们可以设置将事件写入数据库的选项。使用此方法,我们可以设置各种参数来配置写操作。让我们通过一个示例了解 writeConcern() 方法。

writeConcern 操作适用于以下方法:

  • deleteOne()
  • deleteMany()
  • findOneAndDelete()
  • findOneAndReplace()
  • findOneAndUpdate()
  • remove()
  • update()
  • updateOne()
  • updateMany()

语法:

Model.deleteOne(...).writeConcern( <object> );

参数: 此方法接受一个参数,如下所述:

  • object(对象): 它用于以对象的形式指定各种属性及其值。

返回值: 此方法返回查询对象。

设置 Node.js Mongoose 模块:

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

npm init

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

npm install mongoose

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

Mongoose Query API.prototype.writeConcern()方法

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

Mongoose Query API.prototype.writeConcern()方法

示例1:

下面的示例演示了使用Mongoose连接writeConcern()方法的基本功能,使用异步函数。

文件名: app.js

// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
const URI = "mongodb://localhost:27017/geeksforgeeks"
  
const connectionObject = mongoose.createConnection(URI, { 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
}); 
  
const studentSchema = new mongoose.Schema({ 
    name: { type: String }, 
    age: { type: Number }, 
    rollNumber: { type: Number }, 
}); 
  
const Student = connectionObject.model('Student', studentSchema); 
  
(async () => { 
    const query = await Student.updateOne({ name: 'Student4' }, { age: 42 }). 
        writeConcern({ w: 'majority' }); 
    console.log(query); 
}) 
    ();

运行程序的步骤: 从项目的根目录执行以下命令来运行该应用:

node app.js

输出:

{
  acknowledged: true,
  modifiedCount: 1,  
  upsertedId: null,  
  upsertedCount: 0,  
  matchedCount: 1    
}

Robo3T GUI工具使用GUI表示数据库:

Mongoose Query API.prototype.writeConcern()方法

示例2: 下面的示例演示了Mongoose Connection writeConcern() 方法的基本功能,使用 then 块。

文件名: app.js

// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
const URI = "mongodb://localhost:27017/geeksforgeeks"
  
const connectionObject = mongoose.createConnection(URI, { 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
}); 
  
const studentSchema = new mongoose.Schema({ 
    name: { type: String }, 
    age: { type: Number }, 
    rollNumber: { type: Number }, 
}); 
  
const Student = connectionObject.model('Student', studentSchema); 
  
Student.deleteOne({ name: 'Student4' }).writeConcern({ w: 'majority', j: true }). 
    then(queryObject => { 
        console.log(queryObject); 
    });

运行程序的步骤: 要运行该应用程序,请从项目的根目录执行以下命令:

node app.js

输出:

{ acknowledged: true, deletedCount: 1 }

参考: https://mongoosejs.com/docs/api/query.html#query_Query-writeConcern

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程