1
我有一個MongoDB的集合稱爲某個鍵的所有值「員工」,其中有這樣的文件:的MongoDB/C#得到的所有文件
{
"_id": "4dc077b07701540f34000001",
"FullName": "Fullname...",
"FirstName": "First name...",
"LastName": "Last name...",
"Title": "Title... ",
"Location": "Location...",
"Customer": "Customer...",
"Phone": "Phone...",
"CellPhone" : "Cellphone...",
"EMail": "E-mail..."
}
我試圖做,做一個foreach的方法循環集合中的所有文檔,並放入FullName鍵的每個值並將其添加到列表中。
List<string> listed = new List<string>();
IMongoCollection collection = _db.GetCollection("employees");
//var list = collection.FindAll().Documents.ToList();
var persons = from p in collection.AsQueryable()
select p["FullName"];
//foreach (var lt in list)
foreach (var name in persons)
{
//listed.Add(lt["FullName"].ToString());
listed.Add(name.ToString());
}
return listed;
以上是我已經嘗試了代碼,註釋的代碼返回一個NullReferenceException時,註釋掉的代碼在列表返回整個文檔。
我的問題是:我必須做什麼樣的查詢才能獲得名爲「FullName」的每個鍵的每個值到列表中?我在Windows 7上使用當前的MongoDB穩定版本,並使用MongoDB-CSharp社區驅動程序。所有的幫助和指針表示讚賞!
我可以返回的唯一途徑是,如果我這樣做: 公開名單
(from p in collection.AsQueryable() select(String)p [「FullName」])。toList()這是否行得通? – 2011-05-05 07:43:36
我得到這個異常:「無法轉換'MongoDB.Linq.MongoQuery'類型的對象來鍵入'System.Linq.IQueryable'1 [System.String]'。」通過使用這種返回方法:public List GetPersons() –
bleakgadfly
2011-05-05 19:04:00