jM2*_*.me 6 c# mongodb mongodb-.net-driver
我有一个名为"服务器"的集合,包含以下文档.
{
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"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我如何使用C#using结构从MongoDB中选择它?
如果您想要所有项目,您可以使用以下代码:
var server = MongoServer.Create("mongodb://localhost:27020");
var database = server.GetDatabase("someDb");
var servers = database.GetCollection<ServerItem>("servers");
servers.FindAllAs<ServerItem>();
Run Code Online (Sandbox Code Playgroud)
但是,如果您想要所有名称为west的文档,那么您可以:
collection.FindAs<ServerItem>(Query.EQ("name","west"));
Run Code Online (Sandbox Code Playgroud)
ServerItem:
public class ServerItem
{
public string name { get; set; }
public string ip { get; set; }
public List<Channel> channels { get; set; }
}
public class Channel
{
public string name { get; set; }
public int port { get; set; }
public int status { get; set; }
}
Run Code Online (Sandbox Code Playgroud)