如何搜索缺少字段的文档?
有3种状态:
{ id: 1, name: "joe"}
{ id: 2, name: ""}
<---我怎么找到这个?
{ id: 3 }
<---我怎么找到这个?
我尝试过
这将返回预期结果,但是用id:2
尝试相同的操作也会返回结果吗?
?q=id:3 AND -name:["" TO *]
{id: 3}
符合预期,因为缺少name
?q=id:2 AND -name:["" TO *]
{id: 2, name: ""}
,但我希望这不匹配,因为这里没有缺少name
另一方面,显式搜索空白字段并不符合我的期望
?q=id:2 AND name:""
{id: 2, name: ""}
如预期
?q=id:3 AND name:""
{id: 3}
,即使此处未设置name
有人可以解释如何搜索空字符串和已删除字段吗?
fq
与q
中的哪个有关系吗?
答案 0 :(得分:0)
您可以搜索不存在的字段
!name:[* TO *]
它将显示未设置该字段的所有文档。
如果您搜索文档中但为空的字段,我将使用
name:*