【问题标题】:Use $in operator to match regex in mongoengine使用 $in 运算符匹配 mongoengine 中的正则表达式
【发布时间】:2020-12-10 15:09:15
【问题描述】:

按照 MongoDB 文档,您可以将 $in 运算符与正则表达式一起使用,例如 wise db.inventory.find( { tags: { $in: [ /^be/, /^st/ ] } } )。有没有办法使用 mongoengine 实现相同的结果?

例如将{"tags__in": ["/^be/", "/^st/"]} 传递给我的查询?

【问题讨论】:

    标签: mongodb nosql mongoengine


    【解决方案1】:

    我认为 MongoEngine 在普通查询构造中不支持此功能(即我怀疑 Doc.objects(tags__in=["/^be/", "/^st/"] 是否有效))但支持 __raw__ 查询 (https://docs.mongoengine.org/guide/querying.html#raw-queries)

    所以以下应该可以工作

    Inventory.objects(__raw__={"tags": { "$in":["/^be/", "/^st/"]}})
    

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 2014-05-06
      • 2013-11-18
      • 2015-07-31
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多