在傳統的關聯式資料庫系統(RDBMS)中,有1對1 和 1對多 關係(relationship)。在 NoSQL/MongoDB 中也是可以依循這樣的關係。

 

1. 簡單案例

00_customer_orders.png

在這裡,有簡單的客戶資料,訂單(orders) document/row 又包含 2 筆訂單資料 document/row。

2. 分離出 people address 2 筆 document/row

我們可以手動操作 加入 people 和 address
2 筆不同內容結構的 document/row


01_create2Collections.png

02_insertOneCollections.png

03_findCollections.png

也可以將兩種不同 document/row 的資料 合併到同一個 document/row
04_insert_enbeddedDoc.png

05_find_enbeddedDoc.png

現在用手動方式加入 兩種不同格式的 document/row

06_1toM_customer.png

07_1toM_customer_find.png

08_1toM_order_insert.png

09_1toM_order_find.png

我們就以兩步驟來存取資料

10_getOrders.png

11_content_in_orders.png

可以對 order collection(table) 找到 book 的 document/row

12_order_find_book.png

也可以計算數量

13_order_find_book_count.png

另一種也可以直接用 count() ,不用經過 find() 計算數量
14_db_order_count.png

創作者介紹
創作者 小木屋 的頭像
小木屋

小木屋

小木屋 發表在 痞客邦 留言(0) 人氣( 2 )