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

วิธีเก็บค่าอาร์เรย์ใน MongoDB

MongoDB รองรับการเก็บอาร์เรย์เป็นค่าของฟิลด์ได้โดยตรง ไม่ต้องมีการแปลงเปลี่ยนพิเศษ ให้สร้างคอลเลกชันตัวอย่างที่เก็บอาร์เรย์ของออบเจ็กต์:

> db.demo321.insertOne({"UserDetails":[{"UserId":101,"UserName":"Chris"},{"UserId":102,"UserName":"Mike"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e511248f8647eb59e56206a") }
> db.demo321.insertOne({"UserDetails":[{"UserId":103,"UserName":"Bob"},{"UserId":104,"UserName":"Sam"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e511259f8647eb59e56206b") }

แสดงข้อมูลทั้งหมด:

> db.demo321.find();

ผลลัพธ์:

{ "_id" : ObjectId("5e511248f8647eb59e56206a"), "UserDetails" : [ { "UserId" : 101, "UserName" : "Chris" }, { "UserId" : 102, "UserName" : "Mike" } ] }
{ "_id" : ObjectId("5e511259f8647eb59e56206b"), "UserDetails" : [ { "UserId" : 103, "UserName" : "Bob" }, { "UserId" : 104, "UserName" : "Sam" } ] }

จุดสำคัญ

  • MongoDB เป็น document database ที่รองรับ nested arrays และ objects โดยธรรมชาติ
  • อาร์เรย์สามารถเก็บค่าได้หลายประเภท: string, number, object, boolean, null, อาร์เรย์ซ้อนกัน
  • ไม่จำเป็นต้องกำหนด schema ล่วงหน้า (schema-less)
  • สามารถ query เข้าไปในอาร์เรย์ได้ด้วย dot notation หรือ $elemMatch