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

mongodb प्रत्येक पुनर्प्राप्त दस्तावेज़ में काउंटर जोड़ें

हालांकि @prasad_ द्वारा उल्लिखित उत्तर काम करता प्रतीत होता है, $unwind के बाद से Mongodb 3.2 में ArrayIndex विकल्प शामिल है जो इसे हासिल करना आसान बनाता है:

db.collection.aggregate([
  {
    $group: {
      _id: null,
      data: {
        $push: "$$ROOT"
      }
    }
  },
  {
    $unwind: {
      path: "$data",
      includeArrayIndex: "counter",

    }
  },
  {
    $replaceRoot: {
      newRoot: {
        $mergeObjects: [
          "$data",
          {
            counter: {
              $add: [
                "$counter",
                1
              ]
            }
          }
        ]
      }
    }
  }
])

अंतिम चरण यहां केवल आपके दस्तावेज़ों को नया आकार देने और प्रत्येक काउंटर में 1 जोड़ने के लिए है, क्योंकि यह 0-आधारित (सरणी अनुक्रमणिका के आधार पर)

है

आप यहां इसका परीक्षण कर सकते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. सुरक्षा के लिए वास्तुकला:MongoDB के लिए एक गाइड

  2. मोंगोडब में किसी फ़ील्ड का केवल मान कैसे लौटाएं?

  3. मौजूदा ग्रिडफ़्स फ़ाइल में डेटा जोड़ें

  4. MongoDB GridFS के साथ समस्या Node.JS के साथ फ़ाइलें सहेजना

  5. एक बार में बहुत सारे मोंगोडब संग्रह कैसे हटाएं?