據我所知,連接在文檔數據庫中不可能或不可靠。我來自關係數據庫背景,並試圖瞭解如何處理這種情況。如果沒有JOIN,在文檔數據庫中處理數據的正確方法是什麼?
比方說,我有一個Employees集合,用於存儲所有員工相關信息。下面是一個典型的員工文件:
{
"id": 1234,
"firstName": "John",
"lastName": "Smith",
"gender": "Male",
"dateOfBirth": "3/21/1967",
"emailAddresses":[
{ "email": "[email protected]", "isPrimary": "true" },
{ "email": "[email protected]", "isPrimary": "false" }
]
}
我們也可以說,我有一個單獨的項目集合,其中我將項目數據存儲,看起來就像是:如果我想返回一個列表
{
"id": 444,
"projectName": "My Construction Project",
"projectType": "Construction",
"projectTeam":[
{ "_id": 2345, "position": "Engineer" },
{ "_id": 1234, "position": "Project Manager" }
]
}
在我的所有項目和項目團隊中,我如何處理確保我返回團隊中個人的所有相關信息,例如全名,電子郵件地址等?
這是兩個單獨的查詢嗎?一個用於項目,另一個用於ID出現在項目集合中的人員?
如果是這樣,我該如何插入關於人們的數據,例如全名,電子郵件地址?然後在我的應用程序中做一個foreach循環來更新數據嗎?
如果我依靠我的應用程序來處理所有相關數據的填充,這是不是會影響文檔數據庫(如MongoDB)的性能優勢?
感謝您的幫助。
非常感謝你們! – Sam 2014-08-29 18:25:18