Dataview 如何查询出有某属性但值为空的页面

比如下面的代码查询 学习状态 属性为 [[完成]] 的页面,代码运行正常:

TABLE 
WHERE 
   学习状态          
   AND contains(学习状态, [[完成]]) 

我想查 学习状态 属性 不包括 完成 的页面,
在 contains 前面加 !
就查不出 学习状态 属性 为空的页面。
问 ChatGPT 也总是回答不正确。
这个怎么办?

加个=null判断呗

那表示“非”的代码是?

比如“学习状态”有10种属性,查询学习状态不是完成的页面

试过了,也不行。

应该就是感叹号吧。

看这个帖子,应该是一样的需求:

用类似这样的dataviewjs能显示 存在属性但属性为空 的页面:

dv.list(dv.pages()
  .where(p => p.hasOwnProperty("学习状态") && 
              !p["学习状态"])
  .file.link)