1. 程式人生 > >mongodb關聯查詢

mongodb關聯查詢

新建用戶 1-1 技術 bject mongod object img max 集合

使用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關聯查詢