У меня есть модель учетной записи, которая имеет интересы, которая представляет собой массив строк (db.type = string и cardinality = many).Например:
{:id 42
:name "Test"
:interests ["cars" "games" "etc"]
:age 50}
Затем из запроса поступает другой список интересов.Как я могу запросить учетные записи, которые имеют ВСЕ указанные интересы?
Например, для ["cars" "games"]
я получу учетную запись № 42, поскольку она включает в себя переданный список.Но для ["cars" "games" "books"]
я не буду, потому что "books"
является дополнительным.
UPD
Что у меня есть:
;; model
{:db/ident :account/interests
:db/valueType :db.type/string
:db/cardinality :db.cardinality/many
:db/index true}
;; a query
[:find ?id
:id $ [?interest ...]
:where
[?a :account/interests ?interest]
[?a :account/id ?id]]
Как мне построить Datomic-запрос?