値を挿入するためにdatomicでトランザクションを実行した後、トランザクションの戻り値を使用して作成されたエンティティのIDを取得する方法を教えてください。ここでデータムに挿入されたエンティティのIDを取得しますか?
は私が挿入した後に取得し、戻り値のサンプルです:
#<[email protected]: {:db-before [email protected], :db-after [email protected],
:tx-data [#Datum{:e 13194139534331 :a 50
:v #inst "2013-06-19T11:38:08.025-00:00"
:tx 13194139534331 :added true} #Datum{:e 17592186045436 .....
私はどのように私はそれらの値を抽出することができます...基礎となるデータムを見ることができますか?
ああ、私は物事を行う慣用的な方法があるはずです。私は現在、1つのエンティティのみを挿入することを保証する関数へのアプローチを制限していましたが、一般的なケースを処理できることは本当にうれしいです。 – HaskellMan
'(d/transact conn [{:db/id" myentity ":some/attr 123}])' '(d/tempid" myentity ")'と同等ですか? –
私は、挿入に必要なすべてのデータを取得する前に、そのIDを別の場所に置く必要があるため、データの挿入前にエンティティIDを知る必要がある状況があります(通常、これは他のデータベースのトランザクションによって行われます) 。このためには、一時的な人は役に立つだろうか?あなたが暫定銘柄を現実の銘柄に解決できるという事実は、後で銘柄を実際の銘柄に変更しなければならないことを意味するようです。 – CMCDragonkai