鑑於這種文檔格式課程的集合,我想從嵌入式陣列挑 單個參與者對象如何使用官方C#驅動程序從嵌入式數組中選取單個元素。最佳實踐?
{
_id: someCourseId,
CourseName: "someName",
Participants[
{UserId: X Name: "person1"},
{UserId:Y, Name:"person2"},
{UserID:Z, Name:"person3"}
]
}
我怎樣寫與官方的C#尖銳的驅動程序,只 返回嵌入式陣列查詢帶有用戶ID Y的元素?
現在,我可以選擇具有與IDŸ 一個參與者使用Query.EQ課程(「Participants.UserId」,Y),我可以選擇只得到 使用 SetFields課程對象的參與者場( 「參與者」),但是如果這個數組很大,我不想 獲取整個數組,但只有一個元素。這可能嗎?
如果沒有,那麼我認爲最好的做法是在需要提取特定元素的情況下不使用嵌入式 數組。 而應該使用單獨的集合來保存數組值 和「根文檔的外鍵」(就像您在RDBMS中所做的那樣)。 也就是說,在我的例子中,我將創建一個參與者集合,其中 每個文檔包含課程的標識。你同意嗎?