MongoEngine中如何实现嵌套查询?

{
    "_id" : ObjectId("56d56366806ea50fbcdf4f7e"),
    "mac" : [ 
        "cc1be0701fa5"
    ],
    "shop_id" : 3307,
    "reported_info" : [ 
        {
            "reported_time" : ISODate("2016-03-01T17:39:50.844Z"),
            "online_mac" : [ 
                "mac1", 
                "mac2", 
                "mac3", 
                "mac4", 
                "mac5"
            ]
         }
}

对于这样的数据库结构,如果要查询在shop_id=3307的文档下,在reported_info里有没有online_macmac1的记录,该如何查询?

阅读 6k
2 个回答

clipboard.png

假设该 Model 为 Shop,定义如上图。
如下查询可以实现 是否存在 shop_id=3306 且该 shop 的 reported_info 中的 online_mac 存在 mac1 的 shop

Shop.objects.filter(shop_id=3307).filter(reported_info__online_mac='mac1')

不太确定是不是你想要的, 请确认下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题