Mongoose Query()函数

Mongoose Query()函数

Mongoose API Query()方法 的方法 Mongoose API 的方法 用作构造函数来创建 Query 的引用。它允许我们创建查询对象并构建查询表达式。我们不需要创建 Query 类的对象来与 MongoDB 集合交互。我们可以直接在自定义定义的 Model 上调用任何模型方法,它将间接返回 Query 的实例。让我们通过一个示例了解 Query() 构造函数。

语法:

new mongoose.Query( options, model, conditions, collection );

参数: 该方法接受以下四个参数:

  • options: 用于指定构造函数的各种属性。
  • model: 用于指定模型名称。
  • conditions: 用于指定过滤条件。
  • collection: 用于指定数据库中集合的名称。

返回值: 该构造函数返回一个 Query 类的引用。

设置 Node.js Mongoose 模块:

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

npm init

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

npm install mongoose

项目结构:

项目的结构将如下所示:

Mongoose Query()函数

数据库结构: 数据库结构将如下所示,以下数据库存在于MongoDB中。

Mongoose Query()函数

示例1: 下面的示例演示了Mongoose Connection Query()构造函数的基本功能。我们可以看到,查询对象是Query类的实例,它在使用mongoose模型的find()方法时间接实例化。

文件名:app.js

// Require mongoose module
const mongoose = require("mongoose");
 
// Set Up the Database connection
let URI = "mongodb://localhost:27017/geeksforgeeks";
 
const connectionObject = mongoose.createConnection(URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
});
 
let studentSchema = new mongoose.Schema({
    name: { type: String, required: true },
    age: Number,
    rollNumber: { type: Number, required: true },
});
 
let StudentModel =
    connectionObject.model('Student', studentSchema);
 
let query = StudentModel.find();
console.log(query instanceof mongoose.Query);

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

node app.js

输出:

true

示例2:

下面的示例演示了Mongoose Connection Query()构造函数的基本功能。最后,我们使用一个查询对象,该对象是Query构造函数的实例,以从集合中获取文档。

文件名:app.js

// Require mongoose module
const mongoose = require("mongoose");
 
// Set Up the Database connection
const URI = "mongodb://localhost:27017/geeksforgeeks";
 
let connectionObject = mongoose.createConnection(URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
});
 
let studentSchema = new mongoose.Schema({
    name: { type: String, required: true },
    age: Number,
    rollNumber: { type: Number, required: true },
});
 
let StudentModel =
    connectionObject.model('Student', studentSchema);
 
let query = StudentModel.find();
query.where('name', "Student2");
query.exec((error, result) => {
    if (error) {
        console.log("Error -", error);
    } else {
        console.log("Result -", result);
    }
});

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

node app.js

输出:

Result - [
    {
        _id: new ObjectId("63c2fe2ef9e908eb17f225db"),
        name: 'Student2',
        age: 18,
        rollNumber: 65,
        __v: 0
    }
]

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程