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

जावा का उपयोग करके मोंगोडब में ऑटो वृद्धि अनुक्रम

एक ऑटो-इन्क्रीमेंटिंग सीक्वेंस फ़ील्ड बनाएँ का उपयोग करके सबसे पहले आपको mongoDB शेल का उपयोग करके संग्रह बनाना चाहिए और संग्रह इस प्रकार होना चाहिए:

db.counters.insert(
{
  _id: "userid",
  seq: 0
})

तो आपको counters मिलता है संग्रह जिसमें _id,seq . जैसे फ़ील्ड शामिल हैं , अब getNextSequence create बनाएं जावा में फ़ंक्शन और इस फ़ंक्शन में पैरामीटर userid . है स्ट्रिंग के रूप में getNextSequence इस तरह कार्य करें:

public static Object getNextSequence(String name) throws Exception{
    MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
    // Now connect to your databases
    DB db = mongoClient.getDB("demo");
    DBCollection collection = db.getCollection("counters");
    BasicDBObject find = new BasicDBObject();
    find.put("_id", name);
    BasicDBObject update = new BasicDBObject();
    update.put("$inc", new BasicDBObject("seq", 1));
    DBObject obj =  collection.findAndModify(find, update);
    return obj.get("seq");

}

उपरोक्त फ़ंक्शन seq लौटाता है इस फ़ंक्शन को main . में गिनें और उपयोग करें इस तरह की विधि:

public static void main(String[] args) throws Exception {

    MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
    // Now connect to your databases
    DB db = mongoClient.getDB("demo");
    DBCollection collection = db.getCollection("counters");
    BasicDBObject document = new BasicDBObject();

    document.put("_id", getNextSequence("userid"));
    document.put("name","Sarah C.");
    collection.insert(document); // insert first doc

    document.put("_id", getNextSequence("userid"));
    document.put("name", "Bob D.");
    collection.insert(document); // insert second doc
}

अब counters . में संग्रह में तीन दस्तावेज़ होते हैं जिनमें name . होता है Sarah C. and Bob D. . के रूप में क्रमशः और एक डिफ़ॉल्ट दस्तावेज़ जिसे हमने पहली बार मैन्युअल रूप से डाला और यह seq increment को बढ़ाता है इस तरह { "_id" : "userid", "seq" : 2 }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. सीएपी प्रमेय में मोंगोडब कहाँ खड़ा है?

  2. NoSQL डेटाबेस की लड़ाई - MongoDB और Oracle NoSQL की तुलना करना

  3. नेवला समग्र परिणाम को क्रमबद्ध करता है

  4. MongoDB में वाइल्डकार्ड टेक्स्ट इंडेक्स बनाएं

  5. नेवला अपडेट अपडेट नहीं हो रहा है:{ठीक:0, एन:0, एन संशोधित:0}