问题描述
所以,我想尝试一下 LiteDB,但我有点挣扎!
尝试将日志数据写入其中。所以,到目前为止我所拥有的(简化)
A 类(数据结构)
private class PerBarData
{
public DateTime ts { get; set; }
public double o { get; set; }
public double h { get; set; }
public double l { get; set; }
public double c { get; set; }
public double v { get; set; }
public Dictionary<int,double> r { get; set; }
}
我正在像这样将数据写入 LiteDB
// Get a collection (or create,if doesn't exist)
var col = db.GetCollection<PerBarData>("PerBarData");
Dictionary<int,double> dict = new Dictionary<int,double>();
for (int i=1; i<maxIndexes; i++)
{
dict.Add(i,plotBIAS[i]);
}
// Create your new customer instance
var pbd = new PerBarData
{
ts = Time[1],o = Open[1],h = High[1],l = Low[1],c = Close[1],v = Volume[1],r = dict
};
// Insert new customer document (Id will be auto-incremented)
col.Insert(pbd);
这似乎有效,因为确实正在添加记录。我可以在 LiteDB 工作室中看到这一点。我只能看到大概是序列化的文本。像这样的对象
/* 1 */
{
"_id": {"$oid": "6009b32dfb2026288486321a"}
}
/* 2 */
{
"_id": {"$oid": "6009b39dfb2026288486321b"}
}
所以 - 据推测,到目前为止,我是对的。所以,要检索一些数据。我想要的只是两个日期之间的数据,或者至少超过一个日期。所以,我试试这个
DateTime startDate = Time[CurrentBar-1];
DateTime endDate = Time[0];
var col = db.GetCollection<PerBarData>("PerBarData");
// Use LINQ to query documents (filter,sort,transform)
var results = col.Find(Query.GTE("ts",startDate));
foreach(var pbd in results)
{
PPrint(pbd.ts.ToString());
}
但是,它通常只是挂在那里。当然,没有打印日期。我最初是在尝试 Query.Between 和 2 个日期。一样。
有人能把我推向正确的方向吗?我真的很想试一试。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)