Thanks
当我尝试将{
:db/id #db/id[:db.part/db]
:db/ident :outcome/weighting
:db/valueType :db.type/float
:db/cardinality :db.cardinality/one
:db.install/_attribute :db.part/db
}
添加到实体时,我收到错误。
:message“java.lang.IllegalArgumentException :: db.error / wrong-type-for-attribute Value 1 not a valid:float for attribute:outcome / weighting”
如果我传入1
,它就可以正常工作。
我很感谢1.0
但是有没有其他方法可以通过Datomic设置避免这种情况,而无需解析传入的EDN并从(= (float? 1) false)
调整为1
?
答案 0 :(得分:0)
您不能将int和float都存储在Datomic的相同架构属性中。因此,在进行交易之前,您需要将值强制转换为您选择的任何类型(这里可能是float或double)。您可以在执行交易的代码中执行此操作,甚至可以在交易功能中执行此操作。