在“创建新分区”标题下的Datomic(http://docs.datomic.com/schema.html)官方文档中,它表示可以像这样创建一个新分区(社区):
{:db/id #db/id[:db.part/db]
:db/ident :communities}
这里':communities'不是写成'db.part / communities'
我无法以这种方式安装新分区。对我来说,它必须与领先的'db.part /'。文档是错误的,还是我没有看到更大的图景?
答案 0 :(得分:1)
如果您在文档中进一步阅读,则会发现您错过了该交易所需的其他数据(标有"这是完整的交易......&# 34; )。该数据是(用户将tempid指定为-1可选):
[:db/add :db.part/db :db.install/partition #db/id[:db.part/db -1]]
使用解析为系统分区(:db.part/db
)的tempid进行事务处理时,还必须包含标记安装的数据,如:db.install/partition
和:db.install/attribute
(属性的反向引用版本)包含在地图中更为常见。)
从文档中处理完整的示例可以正常工作:
(def tx [{:db/id #db/id[:db.part/db -1]
:db/ident :communities}
[:db/add :db.part/db :db.install/partition #db/id[:db.part/db -1]]])
@(d/transact conn tx)
;; returns successful tx map