【已解决】Dataview 查询 tags 属性只有元数据带引号如 "#tag" 才有结果,如何解决

遇到的问题

Obsidian: 1.6.7
Dataview: 0.5.67

文件1使用文件属性,代码如下:

Metadata:
Field: “3”
Source: 2
Tags: "#article "
Status: "#未完成 "
CTime: <% tp.date.now(“YYYY/MM/DD,dddd,HH:mm:ss”)%>

文件2使用Dataview查询,代码如下:


TABLE 
Metadata.Field,
Metadata.Source,
Metadata.Tags
FROM "Template" 
WHERE Metadata.Field = "3"

查询结果如图

当前只能用在属性中用带引号的”#article“,Dataview才能在查询出结果,用#article 查询不出结果。

预期的效果

#article 作为标签能够在属性栏点击查询,而且Dataview查询也能够查询出结果。

已尝试的解决方案

好像是语法限制,多种查询均告失败。

直接这样不行么:
FROM “Template” and #测试

  1. 如果要用"#测试"才能查询,证明这个不是标签属性,是文本属性了。
  2. 早期的OB的标签不那么完善。由于换了第二个库,以前的笔记也不见了。其实现在的OB标签用的是tags: 测试就可以了。(多个标符签就是回车加上- 就好)

所以,你先用一篇笔记试下更改tags记录的格式,看看能不能查询出来,能的话就看我以下这个帖子去批量替换标签的格式。(我现在的库用的就是这个格式,dataview也能查得到)

不得行,这个标签在文件属性里面,如图

不得行,改了以后属性里面是null,如下图

属性前面加 “-”,查询出来也有问题

笔记中标签的写法是这样:
image

1 个赞

感谢感谢,这样正确。又查阅了帮助,是自己理解错误。