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

เพิ่มค่าในวัตถุที่ซ้อนกัน MongoDB หรือไม่


หากต้องการเพิ่มค่าในวัตถุที่ซ้อนกัน คุณสามารถใช้ตัวดำเนินการ $inc ให้เราใช้แบบสอบถามต่อไปนี้เพื่อสร้างคอลเลกชันที่มีเอกสาร

>db.incrementValueDemo.insertOne({"StudentName":"Larry","StudentCountryName":"US","StudentDetails":[{"StudentSubjectName":"Math","StudentMathMarks":79}]});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c986ca0330fd0aa0d2fe4a2")}

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

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

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

{ "_id" :ObjectId("5c986ca0330fd0aa0d2fe4a2"), "StudentName" :"Larry", "StudentCountryName" :"US", "StudentDetails" :[ { "StudentSubjectName" :"Math", "StudentMath79" } ]}

ต่อไปนี้เป็นแบบสอบถามเพื่อเพิ่มค่าในวัตถุที่ซ้อนกัน เครื่องหมายจะเพิ่มขึ้นที่นี่

<ก่อน>> db.incrementValueDemo.update( {"StudentDetails.StudentSubjectName":"Math"}, { $inc :{ "StudentDetails.$.StudentMathMarks" :1 } }); WriteResult({ "nMatched" :1, "nUpserted" :0, "nModified" :1 })

ต่อไปนี้เป็นแบบสอบถามเพื่อตรวจสอบค่าที่เพิ่มขึ้นหรือไม่

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

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

{ "_id" :ObjectId("5c986ca0330fd0aa0d2fe4a2"), "StudentName" :"Larry", "StudentCountryName" :"US", "StudentDetails" :[ { "StudentSubjectName" :"Math", "StudentMath" } ]}