sql >> Databasteknik >  >> NoSQL >> MongoDB

välj endast underdokument eller arrayer

Testade detta:

db.countries.aggregate(      
    {
        "$project": {
            "state": "$states",
            "_id": 0
        }
    },
    {
        "$unwind": "$state"
    },
    {
        "$group": {
            "_id": "$state.name",
            "state": {
                "$first": "$state"
            }
        }
    },
    {
        "$match": {
            "_id": "orissa"
        }
    }
);

Och fick:

{
    "result" : [
            {
                    "_id" : "orissa",
                    "state" : {
                            "name" : "orissa",
                            "direction" : "east",
                            "population" : 41947358,
                            "districts" : [
                                    {
                                            "name" : "puri",
                                            "headquarter" : "puri",
                                            "population" : 1498604
                                    },
                                    {
                                            "name" : "khordha",
                                            "headquarter" : "bhubaneswar",
                                            "population" : 1874405
                                    }
                            ]
                    }
            }
    ],
    "ok" : 1


  1. Infoga och returnera ID för underdokument i MongoDB-dokumentunderdokumentarray

  2. Redis publicera-prenumerera:Är Redis garanterad att leverera budskapet även under massiv stress?

  3. mongo - ruby ​​anslutningsproblem

  4. Hur rensar jag fastnade/inaktuella Resque-arbetare?