MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगो एकत्रीकरण ढांचे का उपयोग करके सह-घटना गणना

एकत्रीकरण बहुत लंबा है लेकिन यह काम करता है। विचार यह है कि आपको जोड़े बनाने की जरूरत है (x,y) आपके client_interactions . के आधार पर सरणी। इसे $reduce का इस्तेमाल करके किया जा सकता है और $map . फिर आपको $unwind चलाने की जरूरत है और कुछ $group आपके एकत्रित डेटा को "विंड" करने के चरण। आपको $arrayToObject की भी आवश्यकता है। अपनी चाबियाँ गतिशील रूप से बनाने के लिए।

db.collection.aggregate([
    {
        $addFields: {
            "client_interactions": {
                $filter: { input: "$client_interactions", cond: { $eq: [ "$$this.productType", "A" ] } }
            }
        }
    },
    {
        $project: {
            a: {
                $reduce: {
                    input: "$client_interactions",
                    initialValue: [],
                    in: {
                        $concatArrays: [
                            "$$value",
                            { $map: { input: "$client_interactions", as: "c",  in: { x: "$$this.productId", y: "$$c.productId" } } }
                        ]
                    }
                }
            }
        }
    },
    {
        $unwind: "$a"
    },
    {
        $match: {
            $expr: {
                $ne: [ "$a.x", "$a.y" ]
            }
        }
    },
    {
        $sort: {
            "a.x": 1,
            "a.y": 1
        }
    },
    {
        $group: {
            _id: "$a",
            count: { $sum: 1 }
        }
    },
    {
        $group: {
            _id: "$_id.x",
            arr: { $push: { k: "$_id.y", v: "$count" } }
        }
    },
    {
        $group: {
            _id: null,
            "co-ocurrences-count": { $push: { k: "$_id", v: { $arrayToObject: "$arr" } } }
        }
    },
    {
        $project: {
            _id: 0,
            "co-ocurrences-count": { $arrayToObject: "$co-ocurrences-count" }
        }
    }
])

मोंगो खेल का मैदान




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. pymongo 2.2 . के साथ MongoDB 2.0.5 डेटाबेस से कनेक्ट नहीं हो सकता

  2. विजुअल स्टूडियो में mongodb-cxx-driver के साथ प्रोजेक्ट कैसे सेट करें?

  3. मोंगोस रेगेक्स बनाम टेक्स्ट का उपयोग करके मोंगो डीबी में खोजना

  4. MongoMapper maxDistance के पास - Mongo::OperationFailure:भौगोलिक मान संख्याएँ होनी चाहिए:

  5. mgo . के साथ id द्वारा खोजें