当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Mongoose Query.prototype.or()用法及代码示例


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



相关用法


注:本文由纯净天空筛选整理自devi_johns大神的英文原创作品 Mongoose Query.prototype.or() API。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。