代码之家  ›  专栏  ›  技术社区  ›  joacoleza

MongoDb-和嵌入式文档中数组内的操作

  •  0
  • joacoleza  · 技术社区  · 6 年前

    {
        "_id": 1,
        "cities": [
            {
                "_id": ObbjectId("..."),
                "neighborhoods": [
                    {
                        "_id": ObbjectId("..."),
                        "schools": 5,
                        "stadiums": [
                            {
                                "_id": ObbjectId("...")
                            },
                            {
                                "_id": ObbjectId("...")
                            }
                        ]
                    },
                    {
                        "_id": ObbjectId("..."),
                        "schools": 3,
                        "stadiums": []
                    }
                ]
            },
            {
                "_id": ObbjectId("..."),
                "neighborhoods": [
                    {
                        "_id": ObbjectId("..."),
                        "schools": 1,
                        "stadiums": []
                    },
                    {
                        "_id": ObbjectId("..."),
                        "schools": 5,
                        "stadiums": [
                            {
                                "_id": ObbjectId("...")
                            },
                            {
                                "_id": ObbjectId("...")
                            }
                        ]
                    }
                ]
            }
        ]
    }
    

    这是一个查询,得到所有国家,至少有一个城市,至少有一个社区,体育场馆收集空,学校等于1?

    谢谢!!

    1 回复  |  直到 6 年前
        1
  •  1
  •   s7vr    6 年前

    你可以锁链 $elemMatch

    有点像

    db.col.find({cities:{$elemMatch:{neighborhoods:{$elemMatch:{schools:1,stadiums:[]}}}}})