问题标签 [faunadb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1783 浏览

graphql - FaunaDB - 如何批量更新单个 graphQL 突变中的条目列表?

我想批量更新动物数据库中带有 graphQL 突变的条目列表。输入数据是来自外部来源的冠状病毒病例列表。它会经常更新。如果条目名称存在于 collectionio 中,则突变应更新现有条目,如果不存在则创建新条目。

当前的 GRAPHQL 突变

图形变量

架构

每次突变运行时,它都会创建新的副本。在单个突变中更新列表的最佳方法是什么?

0 投票
2 回答
250 浏览

javascript - 在特定子数据库中创建集合

我正在使用 FaunaDB 开发多租户架构,其中每个用户团队都有一个专用的子数据库。

我正在尝试Users在子数据库中创建一个集合 (),其中保存了有关团队及其用户的数据。

我正在使用 Fauna 的 Javascript 客户端。以下代码在顶级数据库中创建一个集合,而我正在尝试将其添加到子数据库中。

如何调整它以指定子数据库中的集合?

我需要在某处传递对子数据库的引用吗?或者我应该使用子数据库中的密钥实例化一个新的 Fauna 客户端?

0 投票
0 回答
178 浏览

react-admin - 为 FaunaDB 构建一个 react-admin 数据提供者

随着Graphcool被淘汰,我一直在尝试让react-adminFauna一起工作,但没有成功。Fauna GraphQL 语法与 Graphcool 不同,当然,当我连接到我的 Fauna DB 时,它无法识别任何资源。

如果我通过上传以下 GraphQL 模式来构建一个非常简单的 Fauna DB:

Fauna 创建的最终模式如下所示:

我很难弄清楚如何调整 Graphcool/GraphQL 数据提供者来解决 Fauna 语法的差异。我注意到了几个不同之处:

  • Fauna 为 ID 命名_id,但 ra-data-graphcool 希望它们是id
  • 动物区系创建/更新突变需要一个反映类型的单个输入对象

Graphcool 数据提供者如何构建 gql 以获取记录列表也可能存在差异。有没有人为 Fauna 创建或修改过数据提供者(或者可能是 Back4App或其他免费/廉价的云 GraphQL 提供者)?

0 投票
1 回答
406 浏览

graphql - FaunaDB 显示“实例数据无效”。尝试更新架构时

我正在尝试上传更新的schema.gql通过 GraphQL 控制台的“更新架构”按钮将更新的文件上传到 Fauna/FaunaDB。

我收到以下错误:

有谁知道这个错误信息的原因是什么?

0 投票
1 回答
1263 浏览

angular - 未找到模块:错误:无法解析 FaunaDB JavaScript 驱动程序中的“http”

我正在尝试在 Ionic 项目中使用 FaunaDB,但出现了一个我不知道如何解决的问题。

我只是创建了一个新项目并安装了驱动程序:

然后,我实例化 FaunaDB.Cliente:

在开发中运行良好!但是当我为生产构建时,使用这个命令:

并发生以下错误:

0 投票
1 回答
100 浏览

faunadb - 如何从动物数据库中的文档中删除特定元素?

例如:

我怎样才能改变这个 -

对此——

或者如果我只想删除整个"Ref"对象,我该怎么做?

0 投票
2 回答
1367 浏览

faunadb - 如何在 FaunaDB 中获取嵌套文档?

要在 Fauna 中获取单个文档,我们会:

我们得到类似的东西:

是否可以在同一个查询中获取帖子和作者?

像这样的东西:

0 投票
1 回答
43 浏览

javascript - 在多用户场景下查询 FaunaDB 没有得到最新结果

语境

我正在使用 React 学习 FaunaDB,并使用本文作为参考编写了一些代码。我正在构建的演示应用程序是一个咖啡投票/计数器应用程序 - 将向用户显示咖啡类型,然后单击按钮来增加计数器。目前,只有两个按钮/咖啡选项。

问题

对于单个用户,该应用程序运行良好,但是当我打开该应用程序的两个窗口时,它似乎无法正常运行。下面列出:

窗口 1

页面加载来自 Fauna 的值(假设 mocha=1,long black=1)。我点击 mocha,应用程序应该从 Fauna 获取最新值(以防其他人进行任何更新),然后增加 mocha 并将更新发布到 Fauna(现在 mocha=2,long black=1)。我已经确认这些值存储在 FaunaDB 中。

窗口 2

页面已加载来自 Fauna 的值(假设 mocha=1,long black=1) - 同时加载了窗口 1 和 2。现在,在 Window 2 中,我单击黑色长按钮。但是,当应用程序获取值时,它会得到 mocha=1,long black=1。然后它增加 long black 并将更新发布到 Fauna(现在,mocha=1,long black=2),因此重置用户在窗口 1 中所做的选择。它应该得到 mocha=2 而不是 mocha=1。

我已经坐在这个问题上太久了,真的很感激一些方向。

代码片段

来自 API 的片段:https
: //gist.github.com/ClydeDz/76030075aebbd4673a45bdac13de7979 来自服务的片段:https
: //gist.github.com/ClydeDz/eac99e33aa2c2d8da58b26f00e6478e0 来自组件的片段: https ://gist.github.com /ClydeDz/bbc26605b039892c62245f02a7b7a631

有没有可能getAllChoices's.then实际上并没有查询 Fauna 而只是返回 React 的状态?我如何确认和解决这个问题?

0 投票
2 回答
6373 浏览

node.js - 如何从 FaunaDB 的集合中获取所有文档?

我已经有了答案:

但我觉得它不令人满意,因为我正在对似乎最微不足道的数据库调用进行 2 次查询。对我来说,这似乎效率低下且冗长。

因为我刚刚了解 FaunaDB,所以这里可能有些东西我没有掌握。我的问题可以分为3个:

  • 我可以在一次调用中查询所有文档吗?
  • 如果不是,为什么不呢?这样的设计背后的逻辑是什么?
  • 我可以在没有索引的情况下进行这样的查询吗?
0 投票
4 回答
3108 浏览

faunadb - 如何通过多个条件查询动物区系数据库?

我试图提高我对 FaunaDB 的理解。

我有一个包含以下记录的集合:

我想以灵活的方式通过不同的属性进行查询,例如:

  • data.attributes.amenities.camping > 5
  • data.attributes.amenities.camping > 5 和 data.attributes.amenities.hiking > 6
  • data.attributes.amenities.camping < 6 AND data.attributes.amenities.culture > 6 AND 远足 > 5 AND ...

我创建了一个包含所有属性的索引,但我不知道如何在包含多个术语的索引中进行更大的等于过滤。

我的后备方案是为每个属性创建一个索引,并使用 Intersection 来获取我想要检查的所有子查询中的记录,但这感觉有点不对:

查询:budget >= 6 AND camping >=8 将是:

询问:

这种方法有以下缺点:

  • 它不像预期的那样工作,例如,如果第一个(文化)属性在这个范围内,但第二个(远足)不是,那么我仍然会得到一个返回值
  • 由于我需要为每个结果遵循参考,它会导致大量读取。

是否可以将所有值存储在包含所有数据的这种索引中?我知道我可以向索引添加更多值并访问它们。但这意味着一旦我们向实体添加更多字段,我就必须创建一个新索引。但也许这是一件普遍的事情。

提前致谢