在带有$ or的MongoDB聚合查询中使用数组

威廉·梅拉尼

我正在尝试在带有$ or语句的MongoDB C#聚合查询中使用数组。我的代码如下:

var groupsArray = new BsonArray
                          {new BsonDocument { { "role", 1 } },
                                new BsonDocument { { "role", 2 } },
                                new BsonDocument { { "role", 3 } }
                          };

      var bsonOr = new BsonDocument
                     {
                       {
                         "$or",
                         groupsArray
                       }
                     };

      var match = new BsonDocument { { "$match", 
                                      new BsonDocument { { "$or", bsonOr } } } };

但是,出现以下异常:

MongoDB.Driver.MongoCommandException: 
Command 'aggregate' failed: exception: bad query: 
BadValue $or needs an array (response: 
{ "errmsg" : "exception: bad query: BadValue $or needs an array", 
"code" : 16810, "ok" : 0.0 }).

有没有一种在我所缺少的查询中使用数组的特定方法?

威廉·梅拉尼

or被添加两次。代码已更改为

var groupsArray = new BsonArray();

      foreach (var g in groups)
      {
        groupsArray.Add(new BsonDocument() { { "role", g.Id.ToString() } });
      }
      var bsonOr = new BsonDocument
                     {
                       {
                         "$or",
                         groupsArray
                       }
                     };

      var match = new BsonDocument { { "$match", bsonOr } };

并按我希望的那样工作。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用带有$ lookup和$ match的聚合的搜索查询mongodb

来自分类Dev

带有最大日期的mongodb聚合框架查询

来自分类Dev

带有最大日期的mongodb聚合框架查询

来自分类常见问题

如何在Mongoose中的$ lookup中使用带有子子数组中的外键的聚合?

来自分类Dev

如何在Mongoose中的$ lookup中使用带有子子数组中的外键的聚合?

来自分类Dev

带有聚合框架的mongodb中的数组交集

来自分类Dev

带有嵌套数组的MongoDB聚合查找

来自分类Dev

带有子图聚合的递归查询

来自分类Dev

带有子图聚合的递归查询

来自分类Dev

带有聚合函数的嵌套查询 Slick

来自分类Dev

MongoDB聚合带有链接对象的管道

来自分类Dev

MongoDB聚合带有链接对象的管道

来自分类Dev

带有$ sample的MongoDB聚合非常慢

来自分类Dev

mongodb查找带有数组项查询的文档

来自分类Dev

Adonis在带有分页查询的查询中使用getters失败

来自分类Dev

在带有0.9.5聚合物的dart聚合物中使用外部样式表

来自分类Dev

在Excel Power查询中使用带有参数的OData feed

来自分类Dev

在查询中使用带有间隔的prepareStatement时出错

来自分类Dev

在带有IN子句的CQL查询中使用集合/列表的CQL

来自分类Dev

在SQL查询中使用带有Union子句的group / order by

来自分类Dev

在Excel Power查询中使用带有参数的OData feed

来自分类Dev

无法在带有实体框架的 LINQ 中使用 IN 查询

来自分类Dev

在 sql 查询中使用带有 AND 的“<”符号时遇到的问题

来自分类Dev

在 oracle 查询中使用带有更新的案例

来自分类Dev

SPRING|Java - 在查询中使用带有 SpEl 的 IN 子句

来自分类Dev

SQL问题-PHP查询中使用带有'或带有“”的特殊字符之间的区别

来自分类Dev

使用带有laravel的maatwebsite导出带有查询的excel

来自分类Dev

使用find *()查询时,带有Mongodb的Springboot错误

来自分类Dev

AWS Athena:使用带有数组的结构的属性查询

Related 相关文章

  1. 1

    使用带有$ lookup和$ match的聚合的搜索查询mongodb

  2. 2

    带有最大日期的mongodb聚合框架查询

  3. 3

    带有最大日期的mongodb聚合框架查询

  4. 4

    如何在Mongoose中的$ lookup中使用带有子子数组中的外键的聚合?

  5. 5

    如何在Mongoose中的$ lookup中使用带有子子数组中的外键的聚合?

  6. 6

    带有聚合框架的mongodb中的数组交集

  7. 7

    带有嵌套数组的MongoDB聚合查找

  8. 8

    带有子图聚合的递归查询

  9. 9

    带有子图聚合的递归查询

  10. 10

    带有聚合函数的嵌套查询 Slick

  11. 11

    MongoDB聚合带有链接对象的管道

  12. 12

    MongoDB聚合带有链接对象的管道

  13. 13

    带有$ sample的MongoDB聚合非常慢

  14. 14

    mongodb查找带有数组项查询的文档

  15. 15

    Adonis在带有分页查询的查询中使用getters失败

  16. 16

    在带有0.9.5聚合物的dart聚合物中使用外部样式表

  17. 17

    在Excel Power查询中使用带有参数的OData feed

  18. 18

    在查询中使用带有间隔的prepareStatement时出错

  19. 19

    在带有IN子句的CQL查询中使用集合/列表的CQL

  20. 20

    在SQL查询中使用带有Union子句的group / order by

  21. 21

    在Excel Power查询中使用带有参数的OData feed

  22. 22

    无法在带有实体框架的 LINQ 中使用 IN 查询

  23. 23

    在 sql 查询中使用带有 AND 的“<”符号时遇到的问题

  24. 24

    在 oracle 查询中使用带有更新的案例

  25. 25

    SPRING|Java - 在查询中使用带有 SpEl 的 IN 子句

  26. 26

    SQL问题-PHP查询中使用带有'或带有“”的特殊字符之间的区别

  27. 27

    使用带有laravel的maatwebsite导出带有查询的excel

  28. 28

    使用find *()查询时,带有Mongodb的Springboot错误

  29. 29

    AWS Athena:使用带有数组的结构的属性查询

热门标签

归档