當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。