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的记录,该如何查询?

阅读 2.4k
评论 2016-03-03 提问
    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')

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

    评论 赞赏 2016-03-03
      你好啊
      • 1
      • 新人请关照

      请问我不通过id可以查询reported_info字段中的数据吗?怎么查?

      该答案已被忽略,原因:

      评论 赞赏 2017-08-30
        撰写回答

        登录后参与交流、获取后续更新提醒

        MongoDB 技术问答
        合作问答

        MongoDB 官方中文社区 和 SegmentFault 联合推出的 MongoDB 技术交流平台。 这是一个以社区力量为主,但...