nodejs mongodb查询数据库的时候能实现ES6中的filter吗?

听风讲故事
  • 86

例如我要查询: [1,2,3,4,5].filter(i=>i>2)

数据库 class

{ "_id" : 1, index:1 , "name" : "高二(1)班", classId:"a1"}
{ "_id" : 2, index:2 ,"name" : "高二(2)班", classId:"a2"}
{ "_id" : 3, index:3 ,"name" : "高二(3)班", classId:"a3"}

查询

const class = await class.find()  //正常查询数据库

// 只返回id大于2的班级列表
class.find().filter(doc=>doc.index > 2) 

// 或者经过很复杂的计算决定是否返回这一项
class.find().filter(doc=>{
    const list = [2,5,7,8,9,12] 
    return list.includes(doc.index)
}) 

需求:
1、希望查询数据库的时候能自定义过滤条件就相当于筛选数组一样。
2、能够支持分页的。
3、不是说把所有数据查询出来在用js进行筛选。
4、不是说用$gt、$lte、$in这种,因为我想在filter里面跨数据库去查询数据,然后比较是否满足条件

因为没办法跨数据库去关联并查询就想着是否有这种方法实现。

回复
阅读 480
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏