ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingสอบถาม MongoDB ระหว่าง References กับ Embedded
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: สอบถาม MongoDB ระหว่าง References กับ Embedded  (อ่าน 569 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
polarisz13
คนรักเสียว
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 125



ดูรายละเอียด เว็บไซต์
« เมื่อ: 05 พฤษภาคม 2016, 15:46:24 »

สวัสดีครับ, พอดีเพิ่งจะลองหันมาศึกษา MongoDB เพื่อไว้ใช้ แต่มีข้อสงสัย เรื่อง References กับ Embedded ครับ
กรณีเรามีตารางความสัมพันธ์แบบ M-M โดยปกติอย่างเช่น MySQL เราก็จะสร้าง 3 table ถูกไหมครับ
ถ้าเราใช้ References บน MongoDB อันนี้ก็ไม่น่ามีปัญหา แต่มีข้อสงสัยดังนี้ครับ

1. ความสัมพันธ์แบบ M-M บน MongoDB อย่างเช่น เรื่อง 1 Product มี M Category ถ้าเราเก็บแบบ Embedded เพื่อลดจำนวนการ Query จะเหมาะไหม ? หรือเหมาะกับ References มากกว่า

2. จากข้อ 1 ถ้าสามารถใช้ Embedded ได้ แล้วกรณี p_id=1 และ 2 มี cate_title=aaa เหมือนกัน ถ้ากรณีเราแก้ cate_title=aaa เป็น bbb แบบนี้เราก็ต้องไปไล่ Update ใน Documents ทุกอันเลยรึเปล่า เลยเกิดความสงสัย ถ้ามี 1M Products จะต้องไปไล่ Update Category ของ 1M Products เลยรึเปล่าน่ะครับ ?

ถ้าใช้คำถามไม่ถูกต้อง ขออภัยไว้ล่วงหน้าด้วยครับ พอดีสับสนนิดหน่อย กับ Embedded แบบ M-M เพราะปกติ จะใช้ Relation,References,FK ใน MySQL ครับ
ขอบุคณครับ
บันทึกการเข้า



รถมือสอง - ซื้อขายแลกเปลี่ยนรถมือสอง
ออกแบบเว็บไซต์ - พัฒนาและออกแบบเว็บไซต์ด้วยทีมงานคุณภาพ ราคามาตรฐาน
icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,879



ดูรายละเอียด
« ตอบ #1 เมื่อ: 05 พฤษภาคม 2016, 16:21:06 »

บางส่วนเป็น reference บางส่วนเป็น embedded คัรบ แล้วแต่สถานการณ์

อย่างกรณี category ควรเป็น reference มากกว่าครับ แต่ถ้าอย่าง product review อะไรงี้ อาจทำเป็น embedded ไว้ใน product ดีกว่า
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
polarisz13
คนรักเสียว
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 125



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 05 พฤษภาคม 2016, 23:24:33 »

บางส่วนเป็น reference บางส่วนเป็น embedded คัรบ แล้วแต่สถานการณ์

อย่างกรณี category ควรเป็น reference มากกว่าครับ แต่ถ้าอย่าง product review อะไรงี้ อาจทำเป็น embedded ไว้ใน product ดีกว่า

โอ้ว! ขอบคุณมากครับ +1 ให้พี่เรียบร้อยแล้วครับ นั่งสับสน Search มาหลายวัน ผมก็คิดอยู่ว่า Embedded มันดีในเรื่องการลด Query ก็จริง แต่มันน่าจะมีข้อยกเว้นบางกรณีอยู่ ที่ไม่เหมาะสม
อย่าง Product Reviews ที่พี่ยกตัวอย่าง อันนี้ Embedded ได้ไม่น่ามีปัญหา เพราะมันไม่ไปอยู่ใน Product อื่น จะอยู่เฉพาะใน Product นั้นๆเท่านั้น

โอเคครับ เรื่มกระจ่างขึ้น ถ้าใครมีอะไรแนะนำเพิ่มเติม References กับ Embedded ขอรบกวนด้วยครับ
« แก้ไขครั้งสุดท้าย: 05 พฤษภาคม 2016, 23:25:08 โดย polarisz13 » บันทึกการเข้า



รถมือสอง - ซื้อขายแลกเปลี่ยนรถมือสอง
ออกแบบเว็บไซต์ - พัฒนาและออกแบบเว็บไซต์ด้วยทีมงานคุณภาพ ราคามาตรฐาน
หน้า: [1]   ขึ้นบน
พิมพ์