簡體   English   中英

MongoDB/C#獲取所有文檔中某個鍵的所有值

[英]MongoDB/C# get all values of a certain key in all documents

我有一個名為“employees”的 MongoDB 集合,其中有這樣的文件:

{ 
  "_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-key 的每個值放入列表中。

        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 社區驅動程序。 感謝所有幫助和指示!

var collection = _db.GetCollection("employees");
return (from p in collection.AsQueryable()
         select p["FullName"]).toList();

應該做嗎?

但是,您應該考慮使用如下所示的通用方法:

http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-GetCollectionmethod

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM