python - 如何在 mongoengine 中使用 python 对 dict 中包含的嵌套字典或数组执行此类过滤器查询?

标签 python mongodb

假设我有以下 dict 对象:

{
    "a": "value of a",
    "somedict": {
        "someinfo": [
            {
                "name": "Jordan",
                "food": [
                    "fries",
                    "coke",
                    "drink"
                ]
            }
        ]
    }
}

如果我想使用 mongoengine 在 python 中应用查询过滤器,我该怎么做?我在文档中看到您可以执行以下操作:

sample_objs_filter = Sample.objects(a='value of a')

但是我将如何过滤说

1) "name='Jordan'" 
2)'food' contains 'fries'?

如果 mongoengine 不能做到这一点,是否有其他一些 mongo 库可以更好地做到这一点?

最佳答案

我建议阅读更多关于 mongodb 的 dot notation关于如何查询/查看对象并返回匹配的文档。

因为您不能使用点作为关键字参数 mongoengine遵循双下划线的django orm风格:

1) Sample.objects(somedict__someinfo__name='Jordan')
2) Sample.objects(somedict__someinfo__food='Fries')

关于python - 如何在 mongoengine 中使用 python 对 dict 中包含的嵌套字典或数组执行此类过滤器查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876518/

相关文章:

python - opencv aruco estimatePoseSingleMarkers python

python - Pyautogui 屏幕截图。它去哪儿了?如何保存以后查找?

javascript - 切换到 Mongoose ,我不应该使用请求客户端吗?

node.js - 如何获取 Loopback 3 条件 'datasources' 和 'model-config' : following instructions and doesn't work

python - 如何处理未作为异常引发的 SQLITE 错误,例如 "has no column named"?

python - Pandas 从日期时间戳中获取日期

python - 如何从 Sublime Text 3 Python 构建错误中删除 Windows PATH?

Python 与 MongoEngine - 访问自定义模型属性列表

java - Spring Data、Mongo 和 @TypeAlias : reading not working

node.js - 如何使用聚合函数计算mongoDB中的唯一数据