尝试使用在架构中定义的:threshold属性来持久保存节点实体列表时:
{:db/id #db/id[:db.part/db]
:db/ident :node/threshold
:db/valueType :db.type/long
:db/cardinality :db.cardinality/one
:db/fulltext false
:db/doc "Threshold"
:db.install/_attribute :db.part/db}
我收到以下错误:
CompilerException java.util.concurrent.ExecutionException:
java.lang.IllegalArgumentException:
:db.error/wrong-type-for-attribute Value 90 is not a valid :int
for attribute :node/threshold
我使用以下代码:
(defn store-tree [tree]
@(d/transact dbconn/conn (into [] (vals tree))))
(store-tree parsed-tree-with-refs)
其中tree是节点名称到节点的映射。
奇怪的是,我使用了来自REPL的节点阈值90的特定实体的EDN并手动交易它,并且它没有任何问题。我用了这段代码:
@(d/transact dbconn/conn [{:db/id (d/tempid :db.part/user),
:node/threshold 90, :node/location "US"}])
有人可以帮忙吗?
谢谢, 维塔利。