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

PyMongo में MapReduce

आप एकत्रीकरण ढांचे का उपयोग कर सकते हैं

import pymongo
conn = pymongo.MongoClient()
db = conn.test
col =  db.collection

for doc in col.aggregate([{'$unwind': '$impressions'}, 
    {'$match': {'impressions.service': 'furniture'}}, 
    {'$group': {'_id': '$impressions.id', 'impressions_count': {'$sum': 1}}}, 
    ]):
    print(doc)

या अधिक कुशलता से $map और $setDifference ऑपरेटरों।

col.aggregate([
    { "$project": { "impressions": {"$setDifference": [{ "$map": { "input": "$impressions", "as": "imp", "in": { "$cond": { "if": { "$eq": [ "$$imp.service", "furniture" ] }, "then": "$$imp.id", "else": 0 }}}}, [0]]}}}, 
    { "$unwind": "$impressions" }, 
    { "$group": { "_id": "$impressions", "impressions_count": { "$sum": 1 }}}
])

कौन सी पैदावार:

{'_id': 122.0, 'impressions_count': 1}
{'_id': 124.0, 'impressions_count': 1}
{'_id': 127.0, 'impressions_count': 1}
{'_id': 123.0, 'impressions_count': 2}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोज़ का उपयोग करके काम नहीं कर रहे एक सरणी से मोंगोडब पुल ऑब्जेक्ट

  2. मूल कुंजी अज्ञात होने पर मान से MongoDB क्वेरी करें

  3. नेवला कस्टम सत्यापन 2 क्षेत्रों का उपयोग कर

  4. MongoDB:एक संग्रह में अरबों दस्तावेज़

  5. मैं Mongoose में अलग-अलग मानों के लिए क्वेरी कैसे करूं लेकिन सभी दस्तावेज़ वापस कर दूं?