你好,我正在尝试学习如何使用C#驱动程序来操作MongoDB数据库。我有一个类似于以下结构的集合:
public class DataSnapshot
{
[BsonId]
public ObjectId InternalId { get; set; }
public Int Id { get; set; }
public string Identifier1 { get; set; }
public string Identifier2 { get; set; }
public List<NestedData> NestedData { get; set; }
}
并且
public class NestedData
{
public DateTime TimeStamp { get; set; }
public double Info1 { get; set; }
public double Info2 { get; set; }
}
嵌套数据可能非常庞大。
我想查询集合以返回在日期范围内的所有嵌套数据列表(理想情况下,连接多个快照中的数据,但只连接一个也是个好的开始)
我正在努力弄清楚如何正确地过滤和映射此数据。我已经阅读了过滤和过滤/投影的示例,但对于所有这些条件,我仍然无法使其正常工作。
我正在尝试做这样的事情:
context.DataSnapshot.Find(x => x.Identifier1 == "foo" && x.Identifier2 == "bar" && x.NestedData.Timestamp > DateTime.Now.AddYears(-1)).Project(x => x.NestedData).ToList();
最好的方法是什么?
谢谢。