首页 > 解决方案 > MongoDB:如何在 MongoEngine Python Flask 中使用 $all 运算符

问题描述

我的数据库中有以下两条记录

{
  "_id" : ObjectId("614216d249d15e39da47eb62"),
  "rcodes" : [ 
      "viki"
  ]
},
{
  "_id" : ObjectId("61421dab62004e4f1a644e52"),
  "rcodes" : [ 
      "mahesh"
  ]
}

我想通过使用rcodeswhich 是一个数组进行搜索。所以在我的控制台中,如果我执行以下查询,它会给我正确的结果:

db.getCollection('users').find({ rcodes: { $all: ["viki"] }} )

上面的查询给出了我正确的结果和输出

现在我正在使用flask_mongoengine我的烧瓶应用程序。但我不知道如何使用上述查询来找到相同的结果。我尝试了以下查询,但结果不正确

Users.objects(rcodes__contains="viki").first()

如果我使用vi,也会给出相同的结果vikviki这对我来说是错误的。它确实执行了一些like查询,但我想要类似于where查询的结果(例如:MySQL)

Users.objects(rcodes__contains="vik").first() // vi, vik, viki 所有这些都给出相同的结果

所以我想知道 flask_mongoengine 在数组字符串中查找给定值的语法是什么。

标签: pythonmongodbflaskmongoengineflask-mongoengine

解决方案


推荐阅读