Модель документа Mongoose.where() API

Опубликовано: 31 Декабря, 2022

Метод Model.where() API Mongoose используется для извлечения документов из коллекции на основе условий. Мы можем напрямую использовать where() для любой модели, а для where() мы можем использовать различные реляционные условия для получения результата. Model.where() возвращает массив объектов. Каждый объект состоит из документа в коллекции.

Настройка приложения Node.js:

Шаг 1. Создайте приложение Node.js с помощью следующей команды:

npm init

Шаг 2: После создания приложения NodeJS установите необходимый модуль с помощью следующей команды:

npm install mongoose

Структура проекта: Структура проекта будет выглядеть следующим образом:

Пример 1. В этом примере мы установили соединение с базой данных с помощью мангуста и определили модель поверх customerSchema, имея два столбца «имя» и «orderCount». В конце концов, мы используем метод where в модели Customer, который даст нам массив объектов на основе заданного нами условия. В этом примере мы находим документы, в которых значение «orderCount» больше 10.

  • app.js: запишите приведенный ниже код в файл app.js:

Javascript




// Require mongoose module
const mongoose = require("mongoose");
  
// Set Up the Database connection
mongoose.connect(
    useNewUrlParser: true,
    useUnifiedTopology: true
})
  
// Defining customerSchema schema
const customerSchema = new mongoose.Schema(
    { name: String, orderCount: Number }
)
  
// Defining customerSchema model
const Customer = mongoose.model("Customer", customerSchema);
  
Customer.where("orderCount").gt(10).then(result => {
    console.log(result)
});

Шаги для запуска программы: Чтобы запустить приложение, выполните следующую команду из корневого каталога проекта:

node app.js

Выход:

[
    {
        _id: new ObjectId("6304e7c8c21ca86f5ea6fce4"),
        name: "Customer3",
        orderCount: 20,
        __v: 0
    }
]

Пример 2. В этом примере мы находим документы, в которых значение «orderCount» больше 5 и меньше 20.

  • app.js: запишите приведенный ниже код в файл app.js:

Javascript




// Require mongoose module
const mongoose = require("mongoose");
  
// Set Up the Database connection
mongoose.connect(
    useNewUrlParser: true,
    useUnifiedTopology: true
})
  
// Defining customerSchema schema
const customerSchema = new mongoose.Schema(
    { name: String, orderCount: Number }
)
  
// Defining customerSchema model
const Customer = mongoose.model("Customer", customerSchema);
  
Customer.where("orderCount").gt(5).lt(20).then(result => {
    console.log(result)
});

Шаги для запуска программы: Чтобы запустить приложение, выполните следующую команду из корневого каталога проекта:

node app.js

Выход:

[
    {
        _id: new ObjectId("6304e7c8c21ca86f5ea6fce3"),
        name: "Customer2",
        orderCount: 10,
        __v: 0
    },
    {
        _id: new ObjectId("6305fa9f63f7ccbdbc0ee95c"),
        name: "Customer3",
        orderCount: 10,
        __v: 0
    },
    {
        _id: new ObjectId("6305fa9f63f7ccbdbc0ee95d"),
        name: "Customer4",
        orderCount: 10,
        __v: 0
    }
]

Ссылка: https://mongoosejs.com/docs/api/model.html#model_Model-где