RavenDB index/query 个字段不存在的文档

RavenDB index/query documents where field does not exist

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

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

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

谢谢

您需要定义一个索引,该索引应该是这样的:

已迁移 = doc.MigratedDateTime != null

然后就可以在Migrated:false

上查询了

我知道这是旧的 post,但在 RavenDB 5.0 中你可以这样做

来自表名 按迁移日期时间分组 其中 MigratedDateTime != null

不确定它是否执行得更有效率,但它更容易。