MongoDB:如何在C#中使用嵌套数组加载集合?

我有一个名为“服务器”的集合,包含以下文档。

{ name: "West", ip: "123.123.123.123", channels: [ { name: "English", port: "1234", status: "0" }, { name: "Spanish", port: "1235", status: "0" }, { name: "German", port: "1236", status: "0" } ] }, { name: "East", ip: "122.122.122.122", channels: [ { name: "English", port: "1234", status: "0" }, { name: "French", port: "1235", status: "0" } ] } 

我如何使用C#using结构从MongoDB中选择它?

如果您想要所有项目,您可以使用以下代码:

 var server = MongoServer.Create("mongodb://localhost:27020"); var database = server.GetDatabase("someDb"); var servers = database.GetCollection("servers"); servers.FindAllAs(); 

但是,如果您想要所有名称= west的文档,那么您可以:

 collection.FindAs(Query.EQ("name","west")); 

ServerItem:

  public class ServerItem { public string name { get; set; } public string ip { get; set; } public List channels { get; set; } } public class Channel { public string name { get; set; } public int port { get; set; } public int status { get; set; } }