微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过 C# 进行简单的 LiteDB 查询我很挣扎!

如何解决通过 C# 进行简单的 LiteDB 查询我很挣扎!

所以,我想尝试一下 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 个日期。一样。

有人能把我推向正确的方向吗?我真的很想试一试。

谢谢。

解决方法

最后我设法很简单地解决了这个问题。替换查找查询,如下

var results = col.Find(x => x.ts >= startDate);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?