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

How can I write a ravenDB query in the studio that finds all fields that are not empty

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

所以我有一个名为 Inspect 的文档 该文档有两个我感兴趣的字段:Inspect 和 Direct。

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

我想找到 Inspect = "Feather" 且 Direct 不为空的所有文档。 我也有兴趣查找 Direct 也为空的文档。

我是在ravenDB工作室做的,所以我用的是lucene。我试过一些东西,比如

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

但这似乎不起作用。任何建议或方向将不胜感激。

干杯

@stacka 嗨!我也是 RavenDB 的新手,但我有一些想法可能会对您有所帮助。首先,使用“-”(减号)字符代替 NOT。这是一个约定。其次,当任何 属性 未被索引时,您可能会面临无法针对 db 查询 运行 的问题。因此,您应该创建一个包含您要查询的字段的字段。希望,这会有所帮助。

您需要运行这样的查询:

Inspect: Feather AND NOT Direct.Count: 0

当你与一个空对象比较时,它失败了,Direct 不是空的,但是 .Count 你实际上是在计算对象中的属性数量,这似乎随心所欲