MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zachować agregację dokumentów za pomocą $unwind

Nie potrzebujesz $unwind w ogóle. Proste $match w przygotowaniu wystarczy:

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

db.students.aggregate(pipeline)

Można to łatwo zrobić nawet bez ram agregacji.

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

db.students.find(query)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Serializacja MongoDB find() powraca do nieanonimowej tablicy JSON przy użyciu PyMongo

  2. mongorestore od samodzielnego do zestawu replik

  3. MongoDB:nie udało się skonfigurować gniazd podczas uruchamiania

  4. Dokumentacja obietnic Mongoose mówi, że zapytania nie są obietnicami?

  5. Pobieranie listy wszystkich baz danych z Mongoose