MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Trình tự tăng tự động trong mongodb sử dụng java

Sử dụng Tạo trường trình tự tăng dần tự động trước tiên, bạn nên tạo bộ sưu tập bằng trình bao mongoDB và bộ sưu tập phải như sau:

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

Vì vậy, bạn nhận được counters các bộ sưu tập chứa trường như _id,seq , bây giờ hãy tạo getNextSequence hàm trong java và hàm này có tham số userid dưới dạng chuỗi nên getNextSequence chức năng như thế này:

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");

}

Hàm trên trả về seq đếm và sử dụng hàm này trong main phương pháp như sau:

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
}

Hiện có trong counters bộ sưu tập chứa ba tài liệu chứa name với tư cách là Sarah C. and Bob D. tương ứng và một tài liệu mặc định mà chúng tôi đã chèn thủ công vào lần đầu tiên và nó tăng dần seq như thế này { "_id" : "userid", "seq" : 2 }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xuất MySQL sang MongoDB

  2. Docker mongo hình ảnh 'Kết nối bị từ chối' từ vùng chứa khác

  3. Cách tìm nạp các chi tiết từ mongo db và gửi hoặc lưu trữ trong đối tượng trong phương thức nodejs Fork

  4. Cập nhật MongoDB với điều kiện

  5. Mongoose findOneAndUpdate và upert trả về không có lỗi, không có tài liệu nào bị ảnh hưởng