sql >> Database >  >> NoSQL >> MongoDB

Hoe houd ik documenten samengevoegd met $unwind

Je hebt $unwind niet nodig helemaal niet. Eenvoudige $match in pijplijn is genoeg:

pipeline = [
    {
        "$match" : {
            "$or" : [
                {
                    "goes.fridays.fr" : 700
                },
                {
                    "goes.special" : {
                        "$elemMatch" : {
                            "date" : "2010-01-01",
                            "fr" : 1000
                        }
                    }
                }
            ]
        }
    }
]

db.students.aggregate(pipeline)

Het kan gemakkelijk worden gedaan, zelfs zonder aggregatieraamwerk.

query = {
    "$or" : [
        {
            "goes.fridays.fr" : 700
        },
        {
            "goes.special" : {
                "$elemMatch" : {
                    "date" : "2010-01-01",
                    "fr" : 1000
                }
            }
        }
    ]
}

db.students.find(query)



  1. MongoDB java-stuurprogramma 3.0 kan geen uitzondering opvangen bij authenticatie

  2. Waar moet ik de tijdlijn van activiteiten in mongodb plaatsen, ingesloten in de gebruiker of afzonderlijk?

  3. Hoe Mongo-indexen testen in integratietests?

  4. MongoDB:Combineer gegevens uit meerdere collecties in één..hoe?