ワイルドカードプルを使用しない理由はありますか?ワイルドカードを使用しない理由はありますか?
(defn pull-wild
"Pulls all attributes of a single entity."
[db ent-id]
(d/pull db '[*] ent-id))
明示的に属性を記述するよりはるかに便利です。
ワイルドカードプルを使用しない理由はありますか?ワイルドカードを使用しない理由はありますか?
(defn pull-wild
"Pulls all attributes of a single entity."
[db ent-id]
(d/pull db '[*] ent-id))
明示的に属性を記述するよりはるかに便利です。
アプリケーションに必要な属性と、データ集約型か、多くのエンティティを取得するかどうかによって異なります。
クライアントライブラリを使用する場合、ワイヤを介して送信する必要のあるデータを最小限に抑えたい場合があります。
私はそれについて他の考えがたくさんあると思います。
しかし、十分に速い限り、私はワイルドカードを取得します。
フリッケ
またentity-map
機能from Tupelo Datomicに興味があるかもしれません。 EID(または参照文献)を考えると、それは、通常のClojureのマップとして、完全なレコードを返します:[デフォルト](私の無知の意見では)
(let [
; Retrieve James' attr-val pairs as a map. An entity can be referenced either by EID or by a
; LookupRef, which is a unique attribute-value pair expressed as a vector.
james-map (td/entity-map (live-db) james-eid) ; lookup by EID
james-map2 (td/entity-map (live-db) [:person/name "James Bond"]) ; lookup by LookupRef
]
(is (= james-map james-map2
{:person/name "James Bond" :location "London" :weapon/type #{:weapon/wit :weapon/gun} }))
IMIO(http://docs.datomic.com/pull .html)、あなたは[コンポーネントの属性](http://blog.datomic.com/2013/06/component-entities.html)を完全に入手できます。これはたくさんの仕事になる可能性があります。あなたが望むものがすべて顧客のものであれば、大きなオーダーのための無用な注文ラインがすべてあります。 – Thumbnail