如何在工作室中编写一个 ravenDB 查询来查找所有不为空的字段



我是lucene的新手,第一天是新的。所以我读了一个关于 lucene 的教程,并花了一段时间试图弄清楚如何在 lucene 中找到一个非空值。

所以我有一个名为"检查"的文档该文档有两个我感兴趣的字段:"检查"和"直接"。

{
    "Inspect": "Feather",
    "Direct": {} 
}

我想查找检查="羽毛"和"直接"不为空的所有文档。我也有兴趣查找 Direct 也是空的文档。

我在 ravenDB 工作室中这样做,所以我正在使用 lucene。我已经尝试了一些事情,例如

Inspect: Feather
And NOT 
Direct: [[NULL_VALUE]]

但是,这似乎不起作用。任何建议或一些指示将不胜感激。

干杯

您需要运行如下查询:

Inspect: Feather AND NOT Direct.Count: 0

当您与 null 对象进行比较时,它会失败,Direct不是 null,但是有了.Count,您实际上是在计算对象中的属性数量,这似乎是您想要的。

@stacka 嗨!我对RavenDB也很陌生,但我有一些想法可能会对你有所帮助。首先,使用"-"(减号(字符而不是 NOT。这是一个惯例。其次,您可能会遇到以下问题:当任何属性未编制索引时,无法对数据库运行查询。因此,您应该创建一个包含要查询的字段。希望,这会有所帮助。

最新更新