Mongoose Query.prototype.all()函数
Mongoose 是用于 MongoDB 的对象数据建模 (Object Data Modeling, ODM) 库。它定义了一个强类型的模式,包括默认值和模式验证,这些模式后来被映射到 MongoDB 文档中。
mongoose 查询 API 中的 all( ) 方法用于查找字段包含特定值的文档。该方法适用于类型为数组的字段。
语法:
Modal.find().all(path, val)
Query.prototype.all()方法接受两个参数:
- path: path是一个表示字段名称的字符串,这是一个必需的参数。
- val: val是一个包含要搜索的元素的数组。
安装mongoose模块:
步骤1: 您可以访问链接来安装mongoose模块。您可以使用以下命令来安装此软件包。
npm install mongoose
步骤2: 安装mongoose模块后,您可以在命令提示符中使用该命令来检查您的mongoose版本。
npm version mongoose
步骤3: 之后,您只需创建一个文件夹并添加一个文件,例如index.js,要运行此文件,您需要运行以下命令。
node index.js
项目结构: 项目结构将如下所示:
示例1: 我们有一些关于客户的数据,包含他们的姓名和兴趣爱好。在这个示例中,我们想要找到兴趣是网球和射击的客户。
文件名: index.js
// Require mongoose module
const mongoose = require('mongoose');
// Set Up the Database connection
mongoose.connect(
'mongodb://localhost:27017/geeksforgeeks', {
useNewUrlParser: true,
useUnifiedTopology: true
})
// Defining customerSchema schema
const customerSchema = new mongoose.Schema(
{ name: String, interest: Array, orderCount: Number }
)
// Defining customerSchema model
const Customer = mongoose.model(
'Customer', customerSchema);
// Find all the customers whose interest are tennis and shooting
Customer.find().all("interest",
["tennis", "shooting"]).then((res) => {
console.log(res)
})
运行应用的步骤: 使用以下命令运行index.js文件:
步骤1: 确保你已经安装了mongoose模块,使用以下命令:
npm install mongoose
步骤2: 在执行函数之前,数据库中的示例数据如下,您可以使用任何GUI工具或终端来查看数据库,就像我们使用 MongoDB compass GUI工具一样,如下所示:
步骤3: 使用以下命令运行index.js文件:
node index.js
输出:
示例2: 在这个示例中,我们使用相同的数据库,但是这次我们不传递第二个参数,将其留空。
// Require mongoose module
const mongoose = require('mongoose');
// Set Up the Database connection
mongoose.connect(
'mongodb://localhost:27017/geeksforgeeks', {
useNewUrlParser: true,
useUnifiedTopology: true
})
// Defining customerSchema schema
const customerSchema = new mongoose.Schema(
{ name: String, interest: Array, orderCount: Number }
)
// Defining customerSchema model
const Customer = mongoose.model(
'Customer', customerSchema);
// Passing empty array in val
Customer.find().all("interest", []).then((res) => {
console.log(res)
})
运行应用程序的步骤: 使用以下命令运行index.js文件:
node index.js
输出: