1

我需要在 mongoose paginate V2 whit 或运算符中创建一个查询,假设我有一个这样的集合“员工”:

[{
  "firstName": "Jhon",
  "lastName": "Doe",
  "monthlyIncome": 50
},
{
  "firstName": "Jhon",
  "lastName": "Smith",
  "yearlyIncome": 100
},
{
  "firstName": "Emma",
  "lastName": "Jhonson",
  "weeklyIncome": 20
}]

我想检索每月或每年每周收到 50 或更多的所有员工。如果我在控制台中运行以下查询(或没有 moongose paginate v2 插件),它将返回前两个文档

db.employee.find({
  $or: [
    {monthlyIncome: {$gte: 50}},
    {yearlyIncome: {$gte: 50}},
    {weeklyIncome:{$gte: 50}}
  ]})

我怎样才能对 mongoose paginate V2 做同样的事情?

我使用 var newQuery 来构造查询

let newQuery = {}

并在之后使用它:

let result = await employees.paginate(newQuery, {
  page:1,
  limit: 10
}).then()
4

1 回答 1

0

您可以使用和直接在Mongoose查询中实现分页,如下所示:limitskip

db.employee.find({
  $or: [
    {monthlyIncome: {$gte: 50}},
    {yearlyIncome: {$gte: 50}},
    {weeklyIncome:{$gte: 50}}
  ]
})
.limit(number_of_items_per_page)
.skip(number_of_items_per_page * number_of_pages)
于 2021-06-01T19:07:13.593 回答