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

เพิ่มใน MongoDB ในขณะที่ใช้ค่า _id ที่กำหนดเองเพื่อแทรกเอกสารหากไม่มีอยู่?


คุณต้องใช้การแทรก () สำหรับสิ่งนี้ เมื่อใดก็ตามที่คุณแทรกค่า _id ที่กำหนดเอง และเอกสารมีอยู่แล้วโดยมีค่า _id ที่กำหนดเอง จะมองเห็นข้อผิดพลาด

ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน ภายใต้สิ่งนี้ เราพยายามเพิ่มเอกสารเดิมอีกครั้ง และทำให้เกิดข้อผิดพลาด

> db.customIdDemo.insert({"_id":1,"StudentName":"John"});WriteResult({ "nInserted" :1 })> db.customIdDemo.insert({"_id":1 ,"StudentName":"Carol"});WriteResult({ "nInserted" :0, "writeError" :{ "code" :11000, "errmsg" :"E11000 การรวบรวมข้อผิดพลาดของคีย์ที่ซ้ำกัน:admin.customIdDemo ดัชนี:_id_ คีย์ซ้ำซ้อน :{ :1.0 }" }})> db.customIdDemo.insert({"_id":2,"StudentName":"Carol"});WriteResult({ "nInserted" :1 })> db.customIdDemo.insert( {"_id":2,"StudentName":"Carol"});WriteResult({ "nInserted" :0, "writeError" :{ "code" :11000, "errmsg" :"E11000 การรวบรวมข้อผิดพลาดของคีย์ที่ซ้ำกัน:admin. ดัชนี customIdDemo:_id_ คีย์ซ้ำ:{ :2.0 }" }})> db.customIdDemo.insert({"_id":3,"StudentName":"Chris"});WriteResult({ "nInserted" :1 })

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

{ "_id" :1, "StudentName" :"John" }{ "_id" :2, "StudentName" :"Carol" }{ "_id" :3, "StudentName" :"Chris" }