標籤:images ddr insert use toolbar mon bsp 文檔 分享
使用DBRefs
DBRefs中有三個欄位 -
$ref - 此欄位指定引用文檔的集合
$id - 此欄位指定引用文檔的_id欄位
$db - 這是一個可選欄位,並包含引用文檔所在的資料庫的名稱
假設一個具有DBRef欄位address的樣本使用者文檔,如程式碼片段所示 -
{ "_id":ObjectId("348362491fjaskdlf2314"), "address": { "$ref": "address_home", "$id": ObjectId("sfaafdf4137832149fssa"), "$db": "yiibai"}, "contact": "13800138000", "dob": "1991-12-12", "name": "Maxsu" }
使用DBef
建立collection role角色表
db.role.insert([{role:"admin"},{role:"root"},{role:"guest"}])
建立使用者user表
db.user.insert([
{roleId:[new DBRef(‘role‘,ObjectId("59b7910c943eabe738230d34")),new DBRef(‘role‘,ObjectId("59b7910c943eabe738230d35"))]},
{roleId:[new DBRef(‘role‘,ObjectId("59b7914c943eabe738230d36"))]}
])
‘role‘是剛才建立的role表名,objectId是當前的這條user記錄要關聯哪些role表中的記錄(role中的id)
查詢:
查指定id的user記錄:
查指定id中的roleId欄位中的第1個關聯的role資訊
查指定id中的roleId欄位中的第2個關聯的role資訊
http://www.yiibai.com/mongodb
mongodb關聯查詢