0
有一个属性:organisation/ord
。这是我应得的数据结构传递给d/transact
:给属性赋予新值的更简单的方法
(assoc (d/pull db [:db/id] (:db/id organisation)) :organisation/ord new-org-ord)
;; => {:db/id 17592186045432, :organisation/ord 4198}
这里organisation
是datomic.query.EntityMap
型和new-org-ord
是integer
。这工作正常,但似乎笨拙。有简单的代码可以完成同样的工作吗?
思考所有我需要做的就是把EntityMap
成为一个真正的map
我尝试这样做:
(assoc (into {} organisation) :organisation/last-invoice-ordinal new-org-ord)
不过的了:
:db.error /不被一个实体无法解析实体:#:分贝{:ID 17592186045433}在datom [-9223301668109597772:组织/时间跨度#:分贝{:ID 17592186045433}]
当你已经拥有'db/id'时,为了将'EntityMap'转换为Clojure'Map',我觉得很麻烦。 @Chris Murphy下面的答案就是用给定的'db/id'创建一个新的地图。 –