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

MongoDB: ใช้ Reference เป็น Key และเพิ่มค่าเอง (Manual)


เพื่อเพิ่มค่าเอง ให้ใช้ $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 ] }

คำสั่งใช้ reference เป็น key และเพิ่มค่าเอง (Value: 59, Times: 3)

> db.demo585.update({
    firstName: 'John',
    lastName: 'Doe',
    SubjectName:"MongoDB",
    Marks: [59]
},
{
    "$push": {
        "Marks": {
            "Value": 59,
            "Times": 3
        }
    }
});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

แสดงเอกสารทั้งหมดหลังอัปเดต

> 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 ] }