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

Jak seskupit dokumenty se specifickým polem v agregaci mongodb

Měli byste použít následující dotaz:

db.collection.aggregate({
    $group: {
    _id: "$threadId",
    "records": {
        $push: "$$ROOT"
    },
    "count": {
        $sum: 1
    }
    }
}).pretty()

Pokud chcete přidat match kritéria pak použijte následující dotaz -

db.collection.aggregate({
    $match: {
    "poiId": "538318500cf2e33469a2d819" //can change match parameters
    }
}, {
    $group: {
    _id: "$threadId",
    "records": {
        $push: "$$ROOT"
    },
    "count": {
        $sum: 1
    }
    }
}).pretty()



  1. Proč je použití $all v mongodb mnohem pomalejší?

  2. Najděte dokumenty, kde je pole v porovnání s jiným v poli

  3. Regulární výraz MongoDB s indexovaným polem

  4. spuštění více instancí mongodu jako služby