2015-03-03 3 views
1

До сих пор мой надстройка пост-к-datomic метод выглядитвставка несколько ordinality атрибутов/значений datomic дб

(defn add-post-to-datomic [title, content, useremail] 
    (d/transact conn [{:db/id (d/tempid :db.part/user), 
        :post/title title, 
        :post/content content, 
        :author/email useremail}])) 

Я действительно хотел бы добавить функциональность для добавления потенциально переменное количества тегов.

В моем удивительном-schema.edn У меня есть

{:db/id #db/id[:db.part/db] 
:db/ident :post/tag 
:db/valueType :db.type/string 
:db/cardinality :db.cardinality/many 
:db/doc "tag applied to a post" 
:db.install/_attribute :db.part/db} 

Так это нормально, если есть несколько из них в БД благодаря мощности, установленной для многих.

Как написать описанный выше метод, чтобы также работать с переменным числом тегов?

ответ

2

Посмотрите на Transactions Docs в разделе «Многочисленные транзакции». До тех пор, как вы передаете набор тегов это должно работать:

(defn add-post-to-datomic [title content user-email tag-set] 
    (d/transact conn [{:db/id (d/tempid :db.part/user) 
        :post/title title 
        :post/content content 
        :post/tag tag-set 
        :author/email user-email}])) 
+0

сюсюкать так обманчиво проста иногда ...: D – sova

+1

кажется, что это все еще Append, хотя, не положить/заменить? –

Смежные вопросы