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'創建一個新的地圖。 –