Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

เพิ่มอัตโนมัติใน MongoDB เพื่อจัดเก็บลำดับของ ID ผู้ใช้ที่ไม่ซ้ำ?


ในการเพิ่มขึ้นอัตโนมัติใน MongoDB เพื่อจัดเก็บลำดับของ ID ผู้ใช้ที่ไม่ซ้ำกัน ให้เราสร้างคอลเลกชันที่มีข้อมูลเกี่ยวกับค่าลำดับสุดท้ายของเอกสารทั้งหมด

ให้เราสร้างคอลเลกชันก่อน แบบสอบถามเพื่อสร้างคอลเลกชันซึ่งมีดังต่อไปนี้ -

> db.createSequenceDemo.insertOne({_id:"SID",S_Value:0});{ "acknowledged" :true, "insertedId" :"SID" }

ตอนนี้ เราจะสร้างฟังก์ชันที่จะสร้างการเพิ่มขึ้นอัตโนมัติใน MongoDB เพื่อจัดเก็บลำดับ แบบสอบถามมีดังต่อไปนี้ −

> function nextSequence(s) { ... var sd =db.createSequenceDemo.findAndModify({ ... query:{_id:s }, ... update:{$inc:{S_Value:1}}, ... ใหม่:จริง ... }); ... return sd.S_Value;... }

ให้เราสร้างคอลเลกชันที่มีเอกสารบางส่วนและเรียกใช้ฟังก์ชันด้านบนเพื่อสร้างลำดับของรหัสผู้ใช้ที่ไม่ซ้ำกัน

แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -

> db.checkSequenceDemo.insertOne({"StudentId":nextSequence("SID"),"StudentName":"Larry","StudentMathMarks":78});{ "acknowledged" :true, "insertedId" :ObjectId ("5c7f61008d10a061296a3c40")}> db.checkSequenceDemo.insertOne({"StudentId":nextSequence("SID"),"StudentName":"Mike","StudentMathMarks":89});{ "acknowledged" :จริง "insertedId " :ObjectId("5c7f61118d10a061296a3c41")}> db.checkSequenceDemo.insertOne({"StudentId":nextSequence("SID"),"StudentName":"Sam","StudentMathMarks":67});{ "รับทราบ":จริง , "insertedId" :ObjectId("5c7f611d8d10a061296a3c42")}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังต่อไปนี้ −

> db.checkSequenceDemo.find().pretty();

ต่อไปนี้เป็นผลลัพธ์ -

{ "_id" :ObjectId("5c7f61008d10a061296a3c40"), "StudentId" :1, "StudentName" :"Larry", "StudentMathMarks" :78}{ "_id" :ObjectId("5c7f61118d10a061296aSd" :2, "StudentName" :"Mike", "StudentMathMarks" :89}{ "_id" :ObjectId("5c7f611d8d10a061296a3c42"), "StudentId" :3, "StudentName" :"Sam", "StudentMath67}" /pre> 

ดูที่ช่อง “StudentId” ซึ่งจะเพิ่มขึ้นโดยอัตโนมัติ 1