sql >> Databáze >  >> NoSQL >> MongoDB

Jak udržím dokumenty v agregaci pomocí $unwind

Nepotřebujete $unwind vůbec. Jednoduchý $match v potrubí je dost:

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

db.students.aggregate(pipeline)

Lze to snadno provést i bez agregačního rámce.

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

db.students.find(query)



  1. Porovnejte mongo rozdíl na dvou kolekcích

  2. Přidejte více hodnot pomocí operátoru $addToSet Mongo

  3. Jak mohu určit segment GridFS?

  4. Jak třídit dílčí dokumenty v poli pole?