gpt4 book ai didi

go - 如何删除FaunaDB中通过搜索找到的文档?

转载 作者:行者123 更新时间:2023-12-01 20:25:10 25 4
gpt4 key购买 nike

我可以按照以下golang代码获取搜索到的文档:

ret, err := client.Query(f.Get(f.MatchTerm(f.Index("label_search_by_externalID"), externalID)))

然后,我尝试按照以下类似方式删除搜索到的文档:

ret, err := client.Query(f.Delete(f.MatchTerm(f.Index("label_search_by_externalID"), externalID)))

但是,此代码发生错误:
Response error 400. Errors: [delete](invalid argument): Ref expected, Set provided.

我对API文档感到困惑,因为 获取都删除了对文档的请求引用作为参数,并且MatchTerm返回一个Set而不是Ref。
然后我有两个问题。
  • 如何获取引用文件Ref的搜索结果?
    有什么方法可以从带有索引的搜索结果中获取文档ref,例如 RefCollection 以进行收集,例如,如下所示的 RefIndex

  • ret, err := client.Query(f.Delete(f.RefIndex(f.Index("label_search_by_externalID"), externalID)))
  • 为什么我的用于获取搜索结果文档的代码运行良好?获取搜索结果文档是否有更好的编码?

  • 谢谢你的建议!

    最佳答案

    Get将仅返回1个结果。如果您从该索引搜索返回了多个值,则将遇到问题。我建议使用函数Paginate()。这将返回一组结果,然后您可以将其映射并执行其他功能,例如get()或delete()。我强烈建议您看一下以下教程(https://docs.fauna.com/fauna/current/tutorials/indexes/pagination)。

    这是删除找到的文档页面的伪代码。您可以向上或向下调整页面大小:

    Map(Paginate(Match(Index(“label_search_by_externalID”),true)),Lambda(“X”,Delete(Var(“X”)))))

    关于go - 如何删除FaunaDB中通过搜索找到的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60610254/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com