sql >> Database teknologi >  >> NoSQL >> MongoDB

Indlejrede Relationer MongoDb

Du bliver nødt til at ændre den første $lookup at bruge en pipeline (tilgængelig fra v3.6)

[
    {
        "$match": {
            "id_site": 3,
            "id_parent": null,
            "id_class": null
        }
    },
    {
        "$lookup": {
            "from": "categories",
            "let": {
                "cid": "$_id"
            },
            "pipeline": [
                {
                    "$match": {
                        "$expr": { $eq: ["$id_parent", "$$cid"] }
                    }
                },
                {
                    "$lookup": {
                        "from": "media",
                        "localField": "id_media",
                        "foreignField": "_id",
                        "as": "Media"
                    }
                }
            ],
            "as": "Childs"
        }
    },
    {
        "$lookup": {
            "from": "media",
            "localField": "id_media",
            "foreignField": "_id",
            "as": "Media"
        }
    }
]



  1. Sådan gendannes en specifik samling i MongoDB ved hjælp af logisk sikkerhedskopiering

  2. Mongodb samler tre samlinger

  3. Få værdier som matrix af elementer efter $lookup

  4. MongoDB $time