หากต้องการเพิ่มค่าเดียวในอาร์เรย์ ให้ใช้ $push ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.demo3.insertOne( ... { ... "Information" : { ... "Of" : { ... "StudentCode" : "STUDENT101", ... "StudentFavouriteSubject" : [ ... "MySQL", ... "Java" ... ] ... } ... } ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e08b7ef25ddae1f53b6221b") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.demo3.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e08b7ef25ddae1f53b6221b"), "Information" : { "Of" : { "StudentCode" : "STUDENT101", "StudentFavouriteSubject" : [ "MySQL", "Java" ] } } }
นี่คือแบบสอบถามเพื่อเพิ่มเพียงค่าเดียวให้กับอาร์เรย์ใน MongoDB -
> db.demo3.update({},{$push:{"Information.Of.StudentFavouriteSubject":"Spring and Hibernate"}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ให้เราตรวจสอบเอกสารทั้งหมดอีกครั้ง -
> db.demo3.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e08b7ef25ddae1f53b6221b"), "Information" : { "Of" : { "StudentCode" : "STUDENT101", "StudentFavouriteSubject" : [ "MySQL", "Java", "Spring and Hibernate" ] } } }