2012-10-29 39 views
1

有人可以向我解釋在MongoDB中如何完成引用,示例here並沒有什麼幫助。我想要實現的是一個選項,可以告訴我的查詢獲取文檔,但也可以獲取來自其他文檔的數據。MongoDB手動引用,它是如何完成的,示例代碼

這是使用Manual References完成的,我需要一個示例/示例代碼來演示它是如何完成的。假設我有用戶和項目表。一個項目屬於特定用戶。我想要將用戶的詳細信息與針對特定項目的查詢返回的每個文檔結合在一起。所以我可能會得到項目1 - 20,但我也希望用戶的詳細信息,而不是更多的查詢後查詢用戶的數據。

我讀過不建議使用dbReference。此外,如果可以的話,我很樂意知道如何使用這種類型的查詢,利用官方的MongoDB C#Driver for .NET手動引用。由於

+1

dbReference有它的用途,如果你不知道目標集合,它是一個自我描述ID的好方法,它通常被濫用。 「我很樂意知道如何使用這種利用手動引用的查詢類型」這取決於您希望運行的查詢。手動引用基本上是在您的代碼中加入並維護客戶端,而不是在數據庫服務器端。即對於您的示例,您將查詢用戶行,然後查詢所有項目,或將這些項目嵌入到用戶行中,不必擔心進行更多查詢,它不是SQL結果集。 – Sammaye

回答

0

你寫

我想與由查詢特定項目返回的每個文件一起獲得用戶的詳細信息。

這不像SQL。你不會一起拿東西。

所有手動引用意味着您將進行兩個單獨的查詢。一個是獲取初始文檔,另一個是通過第一個文檔中的引用標識獲取相關文檔。

在兩個不同的查詢中做它可能看起來像更多的工作,但實際上它是非常有效的。

相關問題