RavenDB索引/查询文档,其中字段不存在

时间:2016-02-11 22:19:55

标签: lucene ravendb

我有一个名为Message的文档集合。作为迁移操作的一部分,我在迁移的记录上设置时间戳,例如

...
new PatchRequest
{
    Type = PatchCommandType.Set,
    Name = "MigratedDateTime",
    Value = DateTime.UtcNow
},
...

我可以在字段MigratedDateTime,MigratedDateTime:[2016-02-11 TO 2016-02-12]上创建一个索引,但我无法弄清楚如何找到根本没有设置此字段的文档。这可能吗?如果是这样,lucene查询会是什么样子?

由于

2 个答案:

答案 0 :(得分:1)

您需要定义一个索引,该索引将具有以下内容:

Migrated = doc.MigratedDateTime!= null

然后您可以查询Migrated:false

答案 1 :(得分:0)

我知道这是一篇老文章,但是在RavenDB 5.0中,您可以做

来自表名的

按MigratedDateTime分组 其中MigratedDateTime!= null

不确定它的执行效率是否更高,但是会容易得多。