Bir varlıktaki belirli bir özelliğin tüm değerlerine (datomik şema için) ihtiyacım var. Geri çekme işlevi, özniteliğin argüman olarak geçirilmesini gerektirir, ancak çok fazladır ve sadece yeni değer kümeleriyle değiştirilmesini gerektirir. Clojure ile ulaşmak mümkün mü?Datomic - bir özniteliğin tüm değerlerinin nasıl geri çekileceği
1
A
cevap
2
Tüm değerleri sorgulayabilir ve eşinizden istediğiniz retraksiyonu oluşturabilir veya yeni değerler yazılmadan önce "boş bir öznitelik" olduğundan emin olmak istiyorsanız, bir işlem işlevinin içinden aynısını yapabilirsiniz.
(map (fn [v] [:db/retract eid attrib v])
(d/q '[:find [?v ...]
:in $ ?e ?a
:where [?e ?a ?v]
db
eid
attrib))
Teşekkürler Leon, Denerim. Ayrıca bir işlem işlevi (yukarıda belirtildiği gibi) yapmak için snippet'i de sağlayabilirsiniz (belirtmiş olduğunuz gibi) – javdev
@Abhinav Sadece bir işlem işlevi yazın ve pasajı içten kullanın - Çoğu durumda http://docs.datomic.com/ veritabanı functions.html –