问题标签 [gun]

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 投票
2 回答
239 浏览

database - 从枪中获取流数据

on()应该从路径或键1流式传输数据。但是当我put在我的路径上数据时,我没有看到更新的流。

0 投票
2 回答
451 浏览

node.js - Gun.js 为什么我得到错误“你没有持久层保存到错误”

我正在尝试gun.js我已经将它安装为 node.js 项目,我已经通过 dotenv 配置了亚马逊 S3 存储桶,我尝试添加一个 data.json 文件,但我仍然无法获取 gun.js 来保存本地文件或 S3 存储桶。

我知道枪支的早期阶段,但我觉得我错过了一些明显的东西。

我期望在他的本地文件系统和/或 S3 存储桶中找到一个 .json 文件,但我都没有。

0 投票
1 回答
253 浏览

javascript - 基于订阅的 nosql 内存数据库

我需要基于订阅的内存数据库,我可以在其中对我的数据更改进行回调(我只会将它用于我的测试)。我使用gunDB,它只能这样工作:

当我交换它gun1.putgun2.get不起作用时。这意味着在没有密钥之前我无法真正订阅。这个例子不起作用(回调永远不会被调用):

我对所有可用的内存数据库都不太熟悉,如果有人能提出建议,我将不胜感激。

相同的示例适用于 firebase:

0 投票
1 回答
2341 浏览

database - 如何删除枪支数据库中的数据?

我一直在开发一些东西,你知道在早期的原型设计过程中,类型和表格变化很快……清理旧数据并在某些网格中重新开始会很好。

现在我使用的是示例 HTTP 服务器,所以我删除了 data.json;但是我忘记了浏览器中的localStorage也需要清除。

有人可能会认为你可以 put(null)

我在 gitter 上问并得到了

https://github.com/amark/gun/wiki/delete

除了删除,大声笑,我们的借口是“它就像你的操作系统一样工作,当你删除它时它会被扔进垃圾箱/回收站。就是这样。” 安全总比抱歉好

如果你试图“删除”东西,因为你在开发时搞砸了 >something,请按照以下三个步骤进行操作:1) localStorage.clear() 在你拥有的每个 >browser 选项卡中,2) 使服务器和 rm data.json 崩溃, 3) 重启 > 一切。然后你应该有一个干净的石板。很多时候,当我 > 开发某些东西时,我会将 localStorage.clear() 放在我的代码顶部,所以我只需要担心清除服务器。

0 投票
1 回答
375 浏览

gun - 对枪数据库中的键感到困惑

这种行为导致了几个问题:
1)为什么要制作电影?我正在合作,var movies = gun.get('movies')为什么我必须再次创建带有“电影”的密钥?'movies' 应该自动添加前缀。
2)即使多个键可以工作,它也不是很直观。如果我们能做到就好了 movies.put(gibson).keys(['actors','comedy','action'])

注意:如果可以循环完成,我会很高兴。但这不起作用

作为旁注......我知道键只是字符串,而不是数据的真实路径;)

0 投票
1 回答
3086 浏览

cordova - 关于 gunDB 作为 Cordova 项目的独立数据库的具体问题

我刚刚发现了 gunDB,这个概念似乎很有趣,我想在开始进一步评估之前了解更多关于它的信息。

  • 如果我想像教程一样构建一个聊天应用程序,但要实现聊天。有没有办法让客户只“订阅”某些聊天室,而避免转移每个其他聊天室的内容?如果不是所有数据都同步到所有客户端,这将如何影响持久性?我们是否需要运行一个特殊的客户端(即服务器?)来确保所有数据始终保持活动状态?
  • 对于同一个聊天室教程,如果我想订阅多个聊天室,是否需要实例化多个 Gun 实例,每个实例都使用“对等”存储?
  • gunDB中应该如何处理用户管理/密码/等?从复制的角度来看,向每个客户端发送用户数据库的副本很有趣,但从安全方面来看,这似乎违反直觉。
  • 有没有办法让 gun 仅在某些情况下同步,例如当 WiFi 连接可用时(想想 Cordova)?
  • 时间数据呢?聊天应用程序中有没有办法,例如告诉 gunDB 我只对未来的消息感兴趣并忽略在某个状态/时间戳之前创建的任何内容(再次避免在昂贵的数据计划上传输大量数据)?
  • 您如何在 gunDB 中持久保存磁盘(可能是循环)数据,并在需要时将数据加载回数据库中?
  • 你能要求gun同时监控两个键吗?例如,如果客户端需要显示聊天数据和待办事项列表(本教程中的两个“键”),假设两者都是“对等的”。
  • 是否有关于如何使用我自己的服务器进行存储的教程?
0 投票
1 回答
1026 浏览

gun - 使用 gundb 进行 JWT 身份验证

我可以在 gundb 中使用JWT身份验证吗?如果是这样,它会大大减慢我的同步速度吗?我将尝试使用此处的教程进行测试,但想看看是否有任何我应该注意的“陷阱”。

0 投票
2 回答
984 浏览

webpack - Webpack,枪,无法解析文件等,枪需要无法解析模块'fs'

我正在使用 gundb 开发电子应用程序。在完成其他所有工作后,我做了一个npm install --save gun. 它完成了这个警告:

当我尝试:

我得到了一个很长的错误列表,因为我不能犯。他们开始于:

以下无法解决:

我在Linux上。fsevent 是 gun npm 的依赖项吗?

更新
为了尽可能多地删除其他变量,我将我的 package.json 文件缩减为只有电子......消除了 webpack 和其他依赖项可能存在的问题。我还删除了我的 node_modules 并做了一个新的npm install & npm install gun.

这揭示了一个更有用的错误:

其中指出:

0 投票
1 回答
240 浏览

gun - 使用 gundb 时重复 console.log 输出枪支地图

此功能是否将结果重复为错误还是我造成的?输出总是有 1 个或多个重复的记录。在这个例子中,中国银行总是在输出中列出两次。

我的代码:

0 投票
1 回答
1293 浏览

gun - 当路径有多个对象时,如何删除枪数据库中的数据

当我的路径包含多个对象时如何删除数据?gun.path('saving_accounts').put(null) 将删除所有储蓄账户。或者,您是否有办法在迭代具有“已删除”对象的数据时处理空错误?我提供了完整的工作示例来帮助回答。假设我用这个创建枪支数据:

然后我可以使用以下内容查询所有储蓄账户:

我尝试根据此处的 gundb 问题和wiki gun.path('object3').put(null)删除记录,但我不确定如何为我的应用程序更改它。在储蓄账户路径上,有多个储蓄账户。所以如果我想删除一个特定的储蓄账户,我会通过 id 删除它,但我认为我做错了。假设我要删除的帐户的 ID 是 FesxPaup8gzuNSsLFlWXMKaL:

但是.put(null)上面的内容会使对象 FesxPaup8gzuNSsLFlWXMKaL 指向 null ,当我再次列出所有储蓄账户时,queryMultiple('saving_accounts');我得到一个cannot read property name of null.

当我的路径包含多个对象时如何删除数据?

旁注:最终我将为每个储蓄账户下的储蓄账户嵌套多个交易,因此在删除错误进行的账户交易时我将不得不做同样的事情。也希望当我删除一个储蓄账户时,它也会自动删除/清空所有账户交易,但我还没有过去在第一层玩数据。