使用 $in 运算符匹配 mongoengine 中的正则表达式
Use $in operator to match regex in mongoengine
按照 MongoDB 文档,您可以将 $in 运算符与正则表达式一起使用,例如 wise db.inventory.find( { tags: { $in: [ /^be/, /^st/ ] } } )
。有没有办法使用 mongoengine?
达到相同的结果
例如将 {"tags__in": ["/^be/", "/^st/"]}
传递给我的查询?
我认为 MongoEngine 在正常查询构造中不支持此功能(即我怀疑 Doc.objects(tags__in=["/^be/", "/^st/"]
是否有效))但支持 __raw__
查询(https://docs.mongoengine.org/guide/querying.html#raw-queries )
因此以下应该有效
Inventory.objects(__raw__={"tags": { "$in":["/^be/", "/^st/"]}})
按照 MongoDB 文档,您可以将 $in 运算符与正则表达式一起使用,例如 wise db.inventory.find( { tags: { $in: [ /^be/, /^st/ ] } } )
。有没有办法使用 mongoengine?
例如将 {"tags__in": ["/^be/", "/^st/"]}
传递给我的查询?
我认为 MongoEngine 在正常查询构造中不支持此功能(即我怀疑 Doc.objects(tags__in=["/^be/", "/^st/"]
是否有效))但支持 __raw__
查询(https://docs.mongoengine.org/guide/querying.html#raw-queries )
因此以下应该有效
Inventory.objects(__raw__={"tags": { "$in":["/^be/", "/^st/"]}})