【发布时间】:2014-07-31 14:44:06
【问题描述】:
我是 MongoDb 的新手,所以我只是在玩弄它。
现在我创建了一个MongoDbCollection<MyDocument>,它存储了很多MyDocuments。 MyDocument 包含许多不同的参数,如 ID、Name、Birthdate、xData、...
class MyDocument
{
public MyDocument() { }
public ObjectID Id { get; set; }
public string Name { get; set; }
public string Birthdate { get; set; }
public BsonDocument[] xData { get; set; } // just additional data
}
如果我在MongoDbCollection 查询文档...
MongoCursor elements = collection.Find(Query.And(MyQueryInput));
例如:查找名称“Peter”的查询。我将得到一个列表,其中包含“名称”等于“彼得”的所有元素。它还从“xData”BsonDocument 返回“名称”字段。到目前为止一切正常。
现在我想创建一个MongoDbCollection<List<MyDocument>>,所以它是一个包含MyDocuments 的列表集合。这就是为什么我定义了一个包含MongoID 和List 的新类:
class MyMongoList
{
public MyMongoList() { }
public ObjectID Id() { get; set; }
public List<MyDocument> list { get; set; }
}
我可以将MyDocuments 添加到列表中并将列表添加到集合中,但是如果我循环遍历,则没有任何反应。
MongoCursor elements = collection.Find(Query.And(MyQueryInput));
foreach(MyMongoList<MyDocument> list in elements)
{
Console.WriteLine("something"); // nothing happends here
}
我想知道为什么“元素”是空的。
[问题] 是否可以像上面一样查询所有列表?
[问题] 我是否必须在 MyMongoList 类中添加一些东西,MongoDb 可以在 c#Lists 中搜索?
目前,我不知道出了什么问题。我感觉它与 MongoDb Serialization 有关,但直到现在我还没有找到实现它的方法。
【问题讨论】:
标签: c# list mongodb serialization