Dataview添加某一主题笔记列表——列表用法

添加某一主题笔记列表——列表用法

添加某一主题笔记列表——列表用法

应用情景

对于具有多个主题的笔记,只列出包含其中一个主题的笔记

假定你正在阅读的这一篇笔记是有关跑步主题的笔记,同时还具有==健康、主题和 O321 - Dataview 系列==共计四个主题。对于这样的具有多个相关主题的笔记,如何只列出其中==跑步==一个主题的笔记,将其它三个主题排除在外呢?

如果使用如下代码

```dataview
LIST
FROM !"O321-Dataview"
FLATTEN 主题 as flattenedTopics
WHERE contains(this.主题, flattenedTopics)
AND file.name != this.file.name
```

则和本篇笔记的四个主题任何之一主题相同的笔记都会被列举出来,检索结果如下所示:

添加某一主题笔记列表——列表用法--应用情景

如果使用如下代码,即可列出主题为跑步, 健康, 主题, O321 - Dataview 系列的所有笔记及主题

```dataview
LIST  without id file.link + "(属于 `"+ join(主题) + "`主题)"
FROM !"Obsidian"
FLATTEN 主题 as flattenedTopics
WHERE contains(this.主题, flattenedTopics)
AND file.name != this.file.name
```

结果如下

添加某一主题笔记列表——列表用法--应用情景

我们只想列出具有跑步主题的笔记,这显然不是我们想要的结果。因为在这个结果中还包含了另外三个主题的笔记。

使用下面的代码,就可以仅列出当前笔记所有主题之一的笔记列表。

仅列出主题为跑步的笔记

尽管当前笔记的主题有跑步, 健康, 主题, O321 - Dataview 系列,下面的结果中还是排除了有关==健康,主题和 O321 - Dataview 系列主题==的笔记

```dataview
 LIST 
 FROM !"O321-Dataview"
 FLATTEN 主题 as flattenedTopics
 WHERE  contains(flattenedTopics,"跑步")  
 AND file.name != this.file.name
 ```

添加某一主题笔记列表——列表用法--应用情景



反馈交流

其他渠道

版权声明