2012-08-30 103 views
2

我是mongodb的新手。我需要通過使用dbref引用兩個集合來執行查詢,並且需要查詢特定的字段。mongodb中的dbref命令

意見收集

 { 
      uid:12345, 
      pid:444, 
      comment="blah" 
     }, 

     { 
      uid:12345, 
      pid:888, 
      comment="asdf" 
     }, 

     { 
      uid:99999, 
      pid:444, 
      comment="qwer" 
     } 

用戶收集

 { 
      uid:12345, 
      name:"john" 
     }, 

     { 
      uid:99999, 
      name:"mia" 
     } 

我可以知道這個命令是如何通過增加兩個集合之間的參考usind DBREF插入MongoDB中這些集合? uid中的註釋必須引用用戶uid。

回答

2

Database References (DBRefs)是用於存儲與其他集合相關的ID的約定,但不是MongoDB服務器支持的功能(即「連接」)。根據您用來訪問MongoDB的language driver,可能會有一些對後續DBRefs和獲取相關文檔的支持。但這確實涉及其他查詢,就像您手動執行這些操作一樣。

所以尋找與在單獨的收藏用戶評論的僞代碼是一樣的東西:利益

    1. find({..})用戶對於每個用戶發現
    2. ... find({uid:...})所有評論該用戶

    根據您的使用情況,您可能需要考慮嵌入信息而不是鏈接。例如,comments集合實際上可能更適合嵌入posts集合中(該網站上的每個post都有許多嵌入的comments)。嵌入的註釋可以包含一些基本的用戶信息,例如顯示名稱,因此您不必在users集合中查找以顯示頁面。

    欲瞭解更多信息,請參閱: