我有一個類似於下面的文件嵌套數組的不同值:MongoDB的C#2.4 - 查找
{
"_id" : ObjectId("58148f4337b1fc09b8c2de9k"),
"Price" : 69.99,
"Attributes" : [
{
"Name" : "Color",
"Value" : "Grey",
},
{
"Name" : "Gender",
"Value" : "Mens",
}
]
}
我希望得到Attributes.Name(所以如果我有一個文檔的不同列表上面,我會得到'顏色'和'性別'返回)。我可以通過mongo shell(db.getCollection('myCollection')。distinct('Attributes.Name')輕鬆獲得我需要的東西,但是我真的很苦惱C#驅動程序(版本2.4)。有人可以幫我把shell命令翻譯成C#嗎?
我試過類似下面(和很多變化)。我是新來的Mongo C#驅動程序,我只是覺得有點失落,任何幫助,將不勝感激。
var database = client.GetDatabase("mymongodb");
IMongoCollection<BsonDocument> collection = database.GetCollection<BsonDocument>("mycollection");
var filter = new BsonDocument();
var distinctAttributeNames = collection.Distinct<BsonDocument>("Attributes.Name", filter);
var tryAgain = collection.Distinct<BsonDocument>("{Attributes.Name}", filter);
當你運行上面的代碼時會發生什麼?檢查以確保你有正確的收集/分辨名稱 – Veeram