sql >> Database >  >> NoSQL >> MongoDB

MongoDB-aggregatiegroep op innerlijke kindverzameling en krijg een volledig document met telling

Het grootste probleem is dat je de hele verzameling moet doorlopen (in deze situatie kun je de indexen niet gebruiken om het proces te versnellen).

U kunt deze code proberen (deze heeft minder bewerkingen dan uw):

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



  1. update diep geneste array mongodb

  2. Advies nodig om database in mongodb te ontwerpen met mangoest

  3. Wat is in Mongo het verschil tussen sharding en replicatie?

  4. mongodb - maak een document als het niet bestaat, anders push naar array