1. Trang chủ
  2. » Thể loại khác

mongodb autoincrement sequence

2 83 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

http://vietjack.com/mongodb/index.jsp                                                                                                              Copyright  ©  vietjack.com     Auto-Increment Sequence MongoDB MongoDB khơng có tính out-of-the-box auto-increment giống SQL Database Theo mặc định, sử dụng ObjectId có độ dài 12 byte cho trường _id Primary key để nhận diện cách Document Tuy nhiên, có tình muốn trường _id có số giá trị tự động tăng ngồi ObjectId Vì điều khơng tính mặc định MongoDB, chương trình hóa tính sử dụng counters collection đề nghị MongoDB Documentation Sử dụng counter Collection Bạn theo dõi products document sau Chúng ta muốn trường _id dãy số nguyên tự động tăng dần 1, 2, 3, đến n { "_id":1, "product_name": "Apple iPhone", "category": "mobiles" } Để làm điều này, tạo counters collection để theo dõi giá trị dãy cuối cho tất trường sequence >db.createCollection("counters") Bây giờ, chèn Document sau counters Collection với productid key { "_id":"productid", "sequence_value": } Trường sequence_value theo dõi giá trị cuối dãy Sử dụng code sau để chèn sequence document vào counters collection: >db.counters.insert({_id:"productid",sequence_value:0}) Tạo hàm JavaScript Bây giờ, tạo hàm getNextSequenceValue, mà nhận tên dãy đầu vào nó, tăng giá trị dãy thêm trả số cập nhật Trong ví dụ này, tên dãy làproductid http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/mongodb/index.jsp                                                                                                              Copyright  ©  vietjack.com     >function getNextSequenceValue(sequenceName){ var sequenceDocument = db.counters.findAndModify( { query:{_id: sequenceName }, update: {$inc:{sequence_value:1}}, new:true }); return sequenceDocument.sequence_value; } Sử dụng hàm JavaScript Giờ sử dụng hàm getNextSequenceValue tạo Document gán giá trị dãy trả trường _id Document Chèn hai Document mẫu sử dụng code sau: >db.products.insert({ "_id":getNextSequenceValue("productid"), "product_name":"Apple iPhone", "category":"mobiles"}) >db.products.insert({ "_id":getNextSequenceValue("productid"), "product_name":"Samsung S3", "category":"mobiles"}) Như bạn thấy, sử dụng hàm getNextSequenceValue để thiết lập giá trị cho trường _id Để kiểm tra tính này, lấy Document sử dụng lệnh find: >db.prodcuts.find() Truy vấn trả Document có trường _id tự động tăng { "_id" : 1, "product_name" : "Apple iPhone", "category" : "mobiles"} : 2, "product_name" : "Samsung S3", "category" : "mobiles" } { "_id"   http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     ... getNextSequenceValue(sequenceName){ var sequenceDocument = db.counters.findAndModify( { query:{_id: sequenceName }, update: {$inc: {sequence_ value:1}}, new:true }); return sequenceDocument .sequence_ value; } Sử dụng...http://vietjack.com /mongodb/ index.jsp                                                                                                              Copyright  ©  vietjack.com     >function getNextSequenceValue(sequenceName){... JavaScript Giờ sử dụng hàm getNextSequenceValue tạo Document gán giá trị dãy trả trường _id Document Chèn hai Document mẫu sử dụng code sau: >db.products.insert({ "_id":getNextSequenceValue("productid"),

Ngày đăng: 02/12/2017, 11:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w