datomic pull api模式排除ident

时间:2015-12-03 05:45:42

标签: datomic

我有这样的架构:

:user/first-name
:user/last-name
:user/password
:user/groups
;; assume there are x more ident
:user/email

我这样做:

(d/pull db '[*] some-id)

显然这也会拉出我不想要的:user/password,这样做很麻烦:

(d/pull db 
        [:user/first-name :user/last-name ;; all fields except :user/password] 
        some-id)

无论如何都要做这样的事情:

(d/pull db ['* (except :user/password)] some-id)

1 个答案:

答案 0 :(得分:0)

您可以使用datomic的过滤功能从db值中过滤掉您不需要的数据。

在你的情况下像

(d/pull (filter db #(not (= (second %2) :user/password))) some-id)