Я искал два дня и не видел ни одного закрытого для этого кода. Это единственный код на java, который я видел, и это не совсем то, что я хотел.
conn.transact(list(list("db.fn/cas", datomic_id, "attribute you want to update", old value, new value))).get();
Я пробовал этот код с одним значением в старом значении и одним значением в новом значении, но он просто складывает информацию, а не накладывает ее. Пример: старое значение — курица, новое значение — рыба. После транзакции это [курица, рыба], а не то, что я ожидал, будет просто [рыба], и курица будет перемещена в архив (история).
Итак, вопрос в том, как вы ссылаетесь на старое значение массива и как вы даете новому значению массив, чтобы он обновлялся так, как я ожидал, как указано выше.
Я помню, где-то читал, что под капотом это просто ряд значений, связанных с одним атрибутом. Если это так, значит ли это, что я должен найти идентификатор datomic строки и изменить его? Также нужно удалить его, если его нет в новом списке?