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

Come faccio a mantenere i documenti in aggregazione con $unwind

Non hai bisogno di $unwind affatto. Semplice $match in cantiere è sufficiente:

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

db.students.aggregate(pipeline)

Può essere fatto facilmente anche senza framework di aggregazione.

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

db.students.find(query)