Mongoose 是 MongoDB 的对象数据建模 (ODM) 库。它定义了一个强类型模式,默认值和模式验证稍后映射到 MongoDB 文档。
此方法用于对两个或多个表达式的数组执行逻辑或运算,并仅选择或检索与数组中至少一个给定表达式匹配的文档。
用法:
Modal.find().where([path]).or([exp1, exp2, ....])
参数:
- path:它是一个表示字段名称的字符串,这是一个must-have参数。
- 指数1,指数2……:这些是我们正在实地寻找的表达。
Mongoose 模块的安装:
第 1 步:您可以访问安装 mongoose 模块的链接。您可以使用此命令安装此软件包。
npm install mongoose
步骤2:安装mongoose模块后,您可以使用命令在命令提示符中检查您的mongoose版本。
npm version mongoose
步骤3:之后,您可以创建一个文件夹并添加一个文件,例如index.js,要运行该文件,您需要运行以下命令。
node index.js
项目结构: 项目结构将如下所示:
示例 1:我们有一些客户数据,其中包含他们的姓名、兴趣和订单计数。在此示例中,我们想要查找订单数为 5 或 7 的客户。
Javascript
// 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);
Customer.find().where("orderCount")
.or([{orderCount: 5}, {orderCount: 7}])
.then((res) => {
console.log(res)
});
运行应用程序的步骤:
步骤1:下面是函数执行之前数据库中的示例数据,您可以使用任何GUI工具或终端来查看数据库,就像我们使用MongoDB指南针GUI工具一样,如下所示:
运行应用程序的步骤:使用以下命令运行index.js 文件:
node index.js
示例2:在前面的示例中,我们找到了 orderCount,它是一个数字,但在这个示例中,我们将找到interest,它是一个数组。我们正在寻找有兴趣的客户拳击或者柔道。
Javascript
// 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);
Customer.find().where("orderCount")
.or([{interest: "judo"}, {interest: "boxing"}])
.then((res) => {
console.log(res)
});
运行应用程序的步骤:使用以下命令运行index.js 文件:
node index.js
参考: https://mongoosejs.com/docs/api/query.html#query_Query-or
相关用法
- Mongoose Query.prototype.orFail()用法及代码示例
- Mongoose Query.prototype.all()用法及代码示例
- Mongoose Query.prototype.and()用法及代码示例
- Mongoose Query.prototype.batchSize()用法及代码示例
- Mongoose Query.prototype.box()用法及代码示例
- Mongoose Query.prototype.catch()用法及代码示例
- Mongoose Query.prototype.centerSphere()用法及代码示例
- Mongoose Query.prototype.circle()用法及代码示例
- Mongoose Query.prototype.collation()用法及代码示例
- Mongoose Query.prototype.cursor()用法及代码示例
- Mongoose Query.prototype.distinct()用法及代码示例
- Mongoose Query.prototype.exec()用法及代码示例
- Mongoose Query.prototype.explain()用法及代码示例
- Mongoose Query.prototype.geometry()用法及代码示例
- Mongoose Query.prototype.getOptions()用法及代码示例
- Mongoose Query.prototype.getPopulatedPaths()用法及代码示例
- Mongoose Query.prototype.getUpdate()用法及代码示例
- Mongoose Query.prototype.gt()用法及代码示例
- Mongoose Query.prototype.gte()用法及代码示例
- Mongoose Query.prototype.hint()用法及代码示例
- Mongoose Query.prototype.lean()用法及代码示例
- Mongoose Query.prototype.limit()用法及代码示例
- Mongoose Query.prototype.lt()用法及代码示例
- Mongoose Query.prototype.lte()用法及代码示例
- Mongoose Query.prototype.map()用法及代码示例
注:本文由纯净天空筛选整理自devi_johns大神的英文原创作品 Mongoose Query.prototype.or() API。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。