หากต้องการเพิ่มมูลค่าด้วยตนเอง ให้ใช้ $push ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo585.insert({
... firstName: 'John',
... lastName: 'Doe',
... SubjectName:"MongoDB",
... Marks: [59]
... });
WriteResult({ "nInserted" : 1 })
> db.demo585.insert({
... firstName: 'Chris',
... lastName: 'Brown',
... SubjectName:"MySQL",
... Marks: [79]
... });
WriteResult({ "nInserted" : 1 }) แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find()−
> db.demo585.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e91fd80fd2d90c177b5bcc3"), "firstName" : "John", "lastName" : "Doe", "SubjectName" : "MongoDB", "Marks" : [ 59 ] }
{ "_id" : ObjectId("5e91fd81fd2d90c177b5bcc4"), "firstName" : "Chris", "lastName" : "Brown", "SubjectName" : "MySQL", "Marks" : [ 79 ] } ต่อไปนี้เป็นแบบสอบถามเพื่อใช้อ้างอิงเป็นคีย์และเพิ่มค่าด้วยตนเอง -
> db.demo585.update({
... firstName: 'John',
... lastName: 'Doe',
... SubjectName:"MongoDB",
... Marks: [59]
... },
... {
... "$push": {
... "Marks": {
... "Value": 59,
... "Times": 3
... }
... }
... }
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo585.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e91fd80fd2d90c177b5bcc3"), "firstName" : "John", "lastName" : "Doe", "SubjectName" : "MongoDB", "Marks" :
[ 59, { "Value" : 59, "Times" : 3 }
] }
{ "_id" : ObjectId("5e91fd81fd2d90c177b5bcc4"), "firstName" : "Chris", "lastName" : "Brown", "SubjectName" : "MySQL", "Marks" : [ 79 ] }