2
{
"_id" : NUUID("f5050a5d-b3be-4de6-a135-a119436fb511"),
"CoursesData" : [
{
"Name" : "Naturgræs",
"Value" : 1
}
],
"FacilityType" : {
"_id" : NUUID("a1b4844b-518b-40e2-8aa5-8ee399ac2d4e")
}
}
不同的值我想從外地Name
找回我的CourseData
對象數組裏面用不同的值的列表。過濾FacilityType._id
。我試圖同時使用$facet
和distinct
運營商,但它似乎並不喜歡的對象數組。充分利用對象數組的MongoDB
我的結果應該是這樣的(或類似):
FacilityType (a1b4844b-518b-40e2-8aa5-8ee399ac2d4e),
CourseData: [Name1, Name2, Name3]
更新
從下面給出的答案,這是你如何用C#驅動程序做,如果有人需要照着做。
FieldDefinition<FacilityDocument, string> field = "CoursesData.Name";
var result = FacilityCollection.Distinct(field, Builders<FacilityDocument>.Filter.Eq(x => x.FacilityType.ID, new Guid("a1b4844b-518b-40e2-8aa5-8ee399ac2d4e"))).ToList();
謝謝felix,我剛剛意識到,我拼錯我的數組時,我早些時候嘗試了相同的獨特選項...你好星期一! – mp1990