我如何在工作室中编写一个 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
你实际上是在计算对象中的属性数量,这似乎随心所欲
我是 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
你实际上是在计算对象中的属性数量,这似乎随心所欲