在如今的系統多,嵌套組織結構的數據很是常見,在關係型數據庫中能夠用聯合查詢來搞定,請各位自行搜索解決。這裏主要是提供mongo的設計方法。mongodb的嵌套又引用嵌套還有直接嵌套,這裏使用應用嵌套。mysql
加入一個數據結構以下sql
@Id
private String id;
private String parentId;
@DBRef
private List<Item> children = new ArrayList<Item>();mongodb
parentId爲父節點的id,這裏不能使用dbref,使用會致使引用的死循環。數據庫
children爲子節點列表。數據結構
將數據存入到mongo以後,數據以下。.net
當咱們須要查找某個item的父節點能夠直接設計
db.Item.find({"children.$id": ObjectId("5b835e70060fb022204962db")})
blog
比mysql簡單粗暴許多倍了吧。get