将多个序数 attributes/values 插入数据数据库

inserting multiple ordinality attributes/values to datomic db

到目前为止,我的 add-post-to-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}

因此,由于基数设置为很多,如果数据库中有多个也没有关系。

我如何编写上述方法,使其也适用于可变数量的标签?

查看"Cardinality many transactions"下的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}]))