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

$rozwiń pustą tablicę

W wersji MongoDB 3.2 i nowszych $unwind operator ma teraz kilka opcji, w których w szczególności preserveNullAndEmptyArrays opcja rozwiąże ten problem.

Jeśli ta opcja jest ustawiona na true i jeśli ścieżka jest pusta, brakuje lub jest pustą tablicą, $unwind wyprowadza dokument. Jeśli fałsz, $unwind nie wyświetla dokumentu, jeśli ścieżka jest null, brakująca lub pusta tablica. W twoim przypadku ustaw to na true:

db.collection.aggregate([
    { "$unwind": {
            "path": "$solved",
            "preserveNullAndEmptyArrays": true
    } },
    { "$group": {
        "_id": "$_id",
        "login": { "$first": "$login" },
        "solved": { "$sum": "$solved.points" }
    } }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Importuj plik CSV do MongoDB za pomocą mongoimport

  2. za dużo otwartych plików na serwerze mgo go

  3. Przechowywanie strumienia danych z żądania POST w GridFS, express, mongoDB, node.js

  4. Baza danych DIY w chmurze w usługach internetowych Amazon — nowy dokument

  5. Filtrowanie osadzonych dokumentów w MongoDB