Mongoose Document.prototype.equals()函数

Mongoose Document.prototype.equals()函数

Document API.prototype.equals() method 是在Mongoose API中用于Document Model对象的。它允许我们验证两个文档对象是否相等。如果一个文档等于另一个文档,该方法将返回true。此方法使用文档的 _id 字段来进行比较。让我们通过一个示例来理解 equals() 方法。

语法:

document1.equals( document2 );
JavaScript

参数: 这个方法接收一个单一的参数,如下所述:

  • document2: 用于指定需要与第一个文档进行比较的第二个文档。

返回值: 这个方法返回一个布尔值。如果两个文档彼此相等,方法将返回true,否则返回false。

设置Node.js Mongoose模块:

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

npm init
JavaScript

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

npm install mongoose
JavaScript

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

Mongoose Document.prototype.equals()函数

数据库结构: 数据库的结构将如下所示,集合中包含以下文档。

Mongoose Document.prototype.equals()函数

示例1: 在这个示例中,我们使用mongoose建立了一个数据库连接,并定义了一个名为userSchema的模型,它有五个列或字段“_id”,“name”,“fixedDeposit”,“interest”和“tenure”。我们使用find()方法返回所有文档的数组。通过索引,我们提取前两个文档,并使用equals()方法对比这两个文档。

文件名:app.js

// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
mongoose.connect("mongodb://localhost:27017/geeksforgeeks", { 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
}); 
  
const userSchema = new mongoose.Schema({ 
    name: String, 
    fixedDeposit: Number, 
    interest: Number, 
    tenure: Number 
}); 
  
const User = mongoose.model('User', userSchema); 
  
const equalsExample1 = async () => { 
    const documents = await User.find(); 
    const document1 = documents[0]; 
    const document2 = documents[1]; 
    const equalOrNot = document1.equals(document2); 
    console.log(equalOrNot) 
} 
  
equalsExample1();
JavaScript

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

node app.js
JavaScript

输出:

false
JavaScript

示例2: 在这个示例中,我们使用mongoose建立了一个数据库连接,并定义了userSchema模型,包含五个列或字段"_id"、"name"、"fixedDeposit"、"interest""tenure"。最后,我们比较相同的文档,以查看作为返回值的真实值是否与equals()方法比较的_id字段相同。

// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
mongoose.connect("mongodb://localhost:27017/geeksforgeeks", { 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
}); 
  
const userSchema = new mongoose.Schema({ 
    name: String, 
    fixedDeposit: Number, 
    interest: Number, 
    tenure: Number 
}); 
  
const User = mongoose.model('User', userSchema); 
  
User.findOne().then(document1 => { 
    console.log(document1.equals(document1)); 
});
JavaScript

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

node app.js
JavaScript

输出:

true
JavaScript

参考: https://mongoosejs.com/docs/api/document.html#document_Document-equals

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册