首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用xtdb中的pull api进行无界递归拉取查询?

如何使用xtdb中的pull api进行无界递归拉取查询?
EN

Stack Overflow用户
提问于 2021-09-22 23:57:40
回答 1查看 63关注 0票数 0

给定以下设置并遵循EQL指南:https://edn-query-language.org/eql/1.0.0/specification.html#_recursive_queries

当我在query应用程序接口之外使用拉取接口时,如果我尝试使用...无界选项,我会得到一个错误。

代码语言:javascript
复制
(ns sample.xtdb-testing
  (:require [xtdb.api :as xt]))

(def sample [{:xt/id 1
              :item/name "Salt"}
             {:xt/id 2
              :item/name "Pepper"}

             {:xt/id 3
              :item/name "Spicy Sauce"
              :composite/contains [100 101 1000]}

             {:xt/id 4
              :item/name "Master Sauce"
              :composite/contains [102]}

             {:xt/id 5
              :item/name "Chorizo Wrap"
              :composite/contains [103]}

             {:xt/id 6
              :item/name "Chorizo Family Pack"
              :composite/contains [104]}

             {:xt/id 100
              :recipe-line-item/quantity 20
              :composite/contains 1}

             {:xt/id 101
              :recipe-line-item/quantity 21
              :composite/contains 2}

             {:xt/id 102
              :recipe-line-item/quantity 22
              :composite/contains 3}

             {:xt/id 103
              :recipe-line-item/quantity 23
              :composite/contains 4}

             {:xt/id 104
              :recipe-line-item/quantity 24
              :composite/contains 5}])

(def node (xt/start-node {}))

(xt/submit-tx node (for [doc sample]
                     [:xtdb.api/put doc]))

(xt/sync node)

;; This doesn't work
(xt/pull (xt/db node) [* {:composite/contains ...]}] 6)

;; This works
(xt/q (xt/db node)
      '{:find [(pull ?eid [* {:composite/contains ...}])]
        :where [[?eid :item/name "Chorizo Family Pack"]]})
EN

回答 1

Stack Overflow用户

发布于 2021-09-22 23:57:40

这只需要引用一下。就像一种护身符。

代码语言:javascript
复制
(xt/pull (xt/db node) '[* {:composite/contains ...]}] 6)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69292450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档