sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB samlar ihop en inre barnsamling och får ett komplett dokument med räkning

Huvudproblemet är att du måste gå igenom hela samlingen (i den här situationen kan du inte använda indexen för att påskynda processen).

Du kan prova den här koden (den har mindre funktion än din):

db.getCollection('User').aggregate([
    {
        $unwind: "$UserSubscriptions"
    },
    {
        $group: {
            _id:"$UserSubscriptions.Subscription.Publication.Code",
            users: {$addToSet: "$_id"}
        }
    },
    {
        $project: {"PublicationCode": "$_id", "Count": {$size: "$users"}}
    }
])



  1. Tappa Mongo-samlingen rensar inte diskutrymme

  2. MongoDB fynd i samling med okänd nyckel

  3. Varför har Mongoose både scheman och modeller?

  4. forEach itererar inte all samling i mongodb