问题标签 [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.
graphql - FaunaDB - 如何批量更新单个 graphQL 突变中的条目列表?
我想批量更新动物数据库中带有 graphQL 突变的条目列表。输入数据是来自外部来源的冠状病毒病例列表。它会经常更新。如果条目名称存在于 collectionio 中,则突变应更新现有条目,如果不存在则创建新条目。
当前的 GRAPHQL 突变
图形变量
架构
每次突变运行时,它都会创建新的副本。在单个突变中更新列表的最佳方法是什么?
javascript - 在特定子数据库中创建集合
我正在使用 FaunaDB 开发多租户架构,其中每个用户团队都有一个专用的子数据库。
我正在尝试Users
在子数据库中创建一个集合 (),其中保存了有关团队及其用户的数据。
我正在使用 Fauna 的 Javascript 客户端。以下代码在顶级数据库中创建一个集合,而我正在尝试将其添加到子数据库中。
如何调整它以指定子数据库中的集合?
我需要在某处传递对子数据库的引用吗?或者我应该使用子数据库中的密钥实例化一个新的 Fauna 客户端?
react-admin - 为 FaunaDB 构建一个 react-admin 数据提供者
随着Graphcool被淘汰,我一直在尝试让react-admin与Fauna一起工作,但没有成功。Fauna GraphQL 语法与 Graphcool 不同,当然,当我连接到我的 Fauna DB 时,它无法识别任何资源。
如果我通过上传以下 GraphQL 模式来构建一个非常简单的 Fauna DB:
Fauna 创建的最终模式如下所示:
我很难弄清楚如何调整 Graphcool/GraphQL 数据提供者来解决 Fauna 语法的差异。我注意到了几个不同之处:
- Fauna 为 ID 命名
_id
,但 ra-data-graphcool 希望它们是id
- 动物区系创建/更新突变需要一个反映类型的单个输入对象
Graphcool 数据提供者如何构建 gql 以获取记录列表也可能存在差异。有没有人为 Fauna 创建或修改过数据提供者(或者可能是 Back4App或其他免费/廉价的云 GraphQL 提供者)?
graphql - FaunaDB 显示“实例数据无效”。尝试更新架构时
我正在尝试上传更新的schema.gql
通过 GraphQL 控制台的“更新架构”按钮将更新的文件上传到 Fauna/FaunaDB。
我收到以下错误:
有谁知道这个错误信息的原因是什么?
angular - 未找到模块:错误:无法解析 FaunaDB JavaScript 驱动程序中的“http”
我正在尝试在 Ionic 项目中使用 FaunaDB,但出现了一个我不知道如何解决的问题。
我只是创建了一个新项目并安装了驱动程序:
然后,我实例化 FaunaDB.Cliente:
在开发中运行良好!但是当我为生产构建时,使用这个命令:
并发生以下错误:
faunadb - 如何从动物数据库中的文档中删除特定元素?
例如:
我怎样才能改变这个 -
对此——
或者如果我只想删除整个"Ref"
对象,我该怎么做?
faunadb - 如何在 FaunaDB 中获取嵌套文档?
要在 Fauna 中获取单个文档,我们会:
我们得到类似的东西:
是否可以在同一个查询中获取帖子和作者?
像这样的东西:
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 的状态?我如何确认和解决这个问题?
node.js - 如何从 FaunaDB 的集合中获取所有文档?
我已经有了答案:
但我觉得它不令人满意,因为我正在对似乎最微不足道的数据库调用进行 2 次查询。对我来说,这似乎效率低下且冗长。
因为我刚刚了解 FaunaDB,所以这里可能有些东西我没有掌握。我的问题可以分为3个:
- 我可以在一次调用中查询所有文档吗?
- 如果不是,为什么不呢?这样的设计背后的逻辑是什么?
- 我可以在没有索引的情况下进行这样的查询吗?
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 将是:
询问:
这种方法有以下缺点:
- 它不像预期的那样工作,例如,如果第一个(文化)属性在这个范围内,但第二个(远足)不是,那么我仍然会得到一个返回值
- 由于我需要为每个结果遵循参考,它会导致大量读取。
是否可以将所有值存储在包含所有数据的这种索引中?我知道我可以向索引添加更多值并访问它们。但这意味着一旦我们向实体添加更多字段,我就必须创建一个新索引。但也许这是一件普遍的事情。
提前致谢