自定义属性有多个属性值的时候, 无法被查询到.

例如, 我为页面A定义了一个属性, 名为platforms, 属性值有两个, 是twitter,youtube.

然后我使用简单查询命令, 查询platforms属性值为twitter或youtube的,查不到任何结果.

:star: 简单查询命令确实无法实现这样的需求。得用高级查询。

:key:方案一:只想用简单查询来实现,建议将属性值改为这样的形式填入:

platforms:: #twitter #youtube

platforms:: [[twitter]] [[youtube]]

:key:方案二:不想为此增加页面或标签,属性值就得这么填,那就用高级查询。

以下是一个查询示例,仅供参考:

#+BEGIN_QUERY
{:query [:find (pull ?b [*])
:where 
[?b :block/properties-text-values ?bps]
[(get ?bps :platforms) ?t]
[(clojure.string/includes? ?t "twitter")]
]}
#+END_QUERY

为什么简单查询无法查到?

;; map, key → set of refs in property value or full text if none are found
:block/properties {}
;; map, key → original property value’s content
:block/properties-text-values {}
https://github.com/logseq/logseq/blob/8a2c6e9537fe00dda7a0e8254e4ba96cabe2dd52/deps/db/src/logseq/db/schema.cljs#L56

{{query (property :platforms “twitter”)}}