如何在一个请求中对mongo进行多个查询

赛卡诺

假设我有一个的集合,Person{email: 'actual email', ..other data}并且想查询是否Person存在给定的email如果要获取给定的,则检索它的数据,否则返回null。

如果我想这样做一次,那就没问题了,只是通过mongoose使用Person.findOne()或其他方式进行查询
但是,如果我必须检查25-100封给定的电子邮件怎么办?当然,我可以向mongodb发送大量请求并检索数据,但这似乎是一个庞大的网络。

是否有一个良好和查询与单批次多像一个条款的mongodb perfomant的方式findBatch([{email: 'email1'}, {email: 'email2'}...{email: 'emailN'} ]),得到了作为结果[document1,null,document3,null, documentN],其中null的不匹配查找审核规定?

目前,我仅看到一种选择:

  1. 单个{email: $in: [] }查询的巨大发现,并通过应用程序逻辑中服务器端的搜索进行匹配。缺点:如果您有多个搜索条件,则非常麻烦且容易出错。

有没有更好的方法来实现这种事情?

明斯基

尝试这个:

  • 用查询数组替换arrayOfEmails
  • 用您的数据库文档中的实际名称替换emailField
db.collName.aggregate([
    {
        "$match" : {
            "emailField" : {
                "$in" : arrayOfEmails
            }
        }
    },
    {
        "$group" : {
            "_id" : null,
            "docs" : {
                "$push" : {
                    "$cond" : [
                        {
                            "$in" : [
                                arrayOfEmails,
                                [
                                    "$emailField"
                                ]
                            ]
                        },
                        "$$ROOT",
                        null
                    ]
                }
            }
        }
    }
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在一个查询中插入多个记录?

来自分类Dev

如何在一个 http 请求中使用节点呈现多个 mysql 查询

来自分类Dev

如何使用聚合在一个mongo文档中独立对多个数组进行排序

来自分类Dev

一个请求中的 GraphQL 多个查询

来自分类Dev

如何在一个查询中进行多个计数/存在?

来自分类Dev

如何在一个表中的单个查询上执行多个子查询?

来自分类Dev

进行多个计数,然后在一个查询中求和

来自分类Dev

如何在Silex中为一个请求定义多个路由?

来自分类Dev

如何在一个get请求中返回多个Mongoose集合?

来自分类Dev

如何在一个请求中从Binance API获取所有(或多个)对的历史kline?

来自分类Dev

如何在一个get请求中返回多个Mongoose集合?

来自分类Dev

如何在查询中的一个案例中嵌套多个MAX(...)语句

来自分类Dev

如何在iOS的sqlite中的一个查询中执行多个select语句?

来自分类Dev

Mysql如何在只有一个ID的多个表的三个表上进行联接查询

来自分类Dev

如何在一个查询中的多个子查询上正确使用多个group_concats而不区分?

来自分类Dev

LINQ-如何在一个查询中对这些数据进行排序

来自分类Dev

如何在一个MySQL查询中从不同的表中进行选择?

来自分类Dev

如何在猫鼬的一个查询中获取数据并进行计数

来自分类Dev

如何在一个查询Firebase中检索多个数据

来自分类Dev

如何在一个Facebook API调用中查询多个对象见解?

来自分类Dev

如何在一个mysql查询中合并来自不同表的多个计数?

来自分类Dev

SQL:如何在一个查询(插入行)中编写多个交互式脚本

来自分类Dev

我们如何在同一个查询中插入多个值

来自分类Dev

如何在猫鼬的一个查询中增加多个字段?

来自分类Dev

如何在一个php页面中运行多个查询?

来自分类Dev

如何在一个查询中从多个数据库中选择记录?

来自分类Dev

如何在多个表的一个 mysql 查询中更新多列?

来自分类Dev

如何在java中对一个或多个编码进行多重性

来自分类Dev

如何在每个请求中一个接一个地存储多个对象?

Related 相关文章

  1. 1

    如何在一个查询中插入多个记录?

  2. 2

    如何在一个 http 请求中使用节点呈现多个 mysql 查询

  3. 3

    如何使用聚合在一个mongo文档中独立对多个数组进行排序

  4. 4

    一个请求中的 GraphQL 多个查询

  5. 5

    如何在一个查询中进行多个计数/存在?

  6. 6

    如何在一个表中的单个查询上执行多个子查询?

  7. 7

    进行多个计数,然后在一个查询中求和

  8. 8

    如何在Silex中为一个请求定义多个路由?

  9. 9

    如何在一个get请求中返回多个Mongoose集合?

  10. 10

    如何在一个请求中从Binance API获取所有(或多个)对的历史kline?

  11. 11

    如何在一个get请求中返回多个Mongoose集合?

  12. 12

    如何在查询中的一个案例中嵌套多个MAX(...)语句

  13. 13

    如何在iOS的sqlite中的一个查询中执行多个select语句?

  14. 14

    Mysql如何在只有一个ID的多个表的三个表上进行联接查询

  15. 15

    如何在一个查询中的多个子查询上正确使用多个group_concats而不区分?

  16. 16

    LINQ-如何在一个查询中对这些数据进行排序

  17. 17

    如何在一个MySQL查询中从不同的表中进行选择?

  18. 18

    如何在猫鼬的一个查询中获取数据并进行计数

  19. 19

    如何在一个查询Firebase中检索多个数据

  20. 20

    如何在一个Facebook API调用中查询多个对象见解?

  21. 21

    如何在一个mysql查询中合并来自不同表的多个计数?

  22. 22

    SQL:如何在一个查询(插入行)中编写多个交互式脚本

  23. 23

    我们如何在同一个查询中插入多个值

  24. 24

    如何在猫鼬的一个查询中增加多个字段?

  25. 25

    如何在一个php页面中运行多个查询?

  26. 26

    如何在一个查询中从多个数据库中选择记录?

  27. 27

    如何在多个表的一个 mysql 查询中更新多列?

  28. 28

    如何在java中对一个或多个编码进行多重性

  29. 29

    如何在每个请求中一个接一个地存储多个对象?

热门标签

归档