问题标签 [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.
database - 从枪中获取流数据
on()
应该从路径或键1流式传输数据。但是当我put
在我的路径上数据时,我没有看到更新的流。
node.js - Gun.js 为什么我得到错误“你没有持久层保存到错误”
我正在尝试gun.js我已经将它安装为 node.js 项目,我已经通过 dotenv 配置了亚马逊 S3 存储桶,我尝试添加一个 data.json 文件,但我仍然无法获取 gun.js 来保存本地文件或 S3 存储桶。
我知道枪支的早期阶段,但我觉得我错过了一些明显的东西。
我期望在他的本地文件系统和/或 S3 存储桶中找到一个 .json 文件,但我都没有。
javascript - 基于订阅的 nosql 内存数据库
我需要基于订阅的内存数据库,我可以在其中对我的数据更改进行回调(我只会将它用于我的测试)。我使用gunDB,它只能这样工作:
当我交换它gun1.put
并gun2.get
不起作用时。这意味着在没有密钥之前我无法真正订阅。这个例子不起作用(回调永远不会被调用):
我对所有可用的内存数据库都不太熟悉,如果有人能提出建议,我将不胜感激。
相同的示例适用于 firebase:
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() 放在我的代码顶部,所以我只需要担心清除服务器。
gun - 对枪数据库中的键感到困惑
这种行为导致了几个问题:
1)为什么要制作电影?我正在合作,var movies = gun.get('movies')
为什么我必须再次创建带有“电影”的密钥?'movies' 应该自动添加前缀。
2)即使多个键可以工作,它也不是很直观。如果我们能做到就好了
movies.put(gibson).keys(['actors','comedy','action'])
。
注意:如果可以循环完成,我会很高兴。但这不起作用
作为旁注......我知道键只是字符串,而不是数据的真实路径;)
cordova - 关于 gunDB 作为 Cordova 项目的独立数据库的具体问题
我刚刚发现了 gunDB,这个概念似乎很有趣,我想在开始进一步评估之前了解更多关于它的信息。
- 如果我想像教程一样构建一个聊天应用程序,但要实现聊天室。有没有办法让客户只“订阅”某些聊天室,而避免转移每个其他聊天室的内容?如果不是所有数据都同步到所有客户端,这将如何影响持久性?我们是否需要运行一个特殊的客户端(即服务器?)来确保所有数据始终保持活动状态?
- 对于同一个聊天室教程,如果我想订阅多个聊天室,是否需要实例化多个 Gun 实例,每个实例都使用“对等”存储?
- gunDB中应该如何处理用户管理/密码/等?从复制的角度来看,向每个客户端发送用户数据库的副本很有趣,但从安全方面来看,这似乎违反直觉。
- 有没有办法让 gun 仅在某些情况下同步,例如当 WiFi 连接可用时(想想 Cordova)?
- 时间数据呢?聊天应用程序中有没有办法,例如告诉 gunDB 我只对未来的消息感兴趣并忽略在某个状态/时间戳之前创建的任何内容(再次避免在昂贵的数据计划上传输大量数据)?
- 您如何在 gunDB 中持久保存磁盘(可能是循环)数据,并在需要时将数据加载回数据库中?
- 你能要求gun同时监控两个键吗?例如,如果客户端需要显示聊天数据和待办事项列表(本教程中的两个“键”),假设两者都是“对等的”。
- 是否有关于如何使用我自己的服务器进行存储的教程?
webpack - Webpack,枪,无法解析文件等,枪需要无法解析模块'fs'
我正在使用 gundb 开发电子应用程序。在完成其他所有工作后,我做了一个npm install --save gun
. 它完成了这个警告:
当我尝试:
我得到了一个很长的错误列表,因为我不能犯。他们开始于:
以下无法解决:
我在Linux上。fsevent 是 gun npm 的依赖项吗?
更新
为了尽可能多地删除其他变量,我将我的 package.json 文件缩减为只有电子......消除了 webpack 和其他依赖项可能存在的问题。我还删除了我的 node_modules 并做了一个新的npm install & npm install gun
.
这揭示了一个更有用的错误:
其中指出:
gun - 使用 gundb 时重复 console.log 输出枪支地图
此功能是否将结果重复为错误还是我造成的?输出总是有 1 个或多个重复的记录。在这个例子中,中国银行总是在输出中列出两次。
我的代码:
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
.
当我的路径包含多个对象时如何删除数据?
旁注:最终我将为每个储蓄账户下的储蓄账户嵌套多个交易,因此在删除错误进行的账户交易时我将不得不做同样的事情。也希望当我删除一个储蓄账户时,它也会自动删除/清空所有账户交易,但我还没有过去在第一层玩数据。