问题标签 [grounddb]
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.
meteor - 用于离线/在线同步的 Meteor GroundDB 粒度
假设两个用户在离线时对同一个文档进行了更改,但在文档的不同部分。如果用户2在用户1之后重新上线,用户1所做的更改会丢失吗?
在我的数据库中,每一行都包含一个 JS 对象,该对象的一个属性是一个数组。该数组绑定到界面上的一系列复选框。我想要的是,如果两个用户对这些复选框进行了更改,则根据进行更改的时间,而不是同步发生的时间,分别为每个复选框保留最新的更改。GroundDB 是实现这一目标的合适工具吗?有没有办法添加一个事件处理程序,我可以在其中添加一些在同步发生时触发的逻辑,这将负责合并?
angularjs - 如何确保在路由之前准备好流星本地集合
我正在使用 Meteor + AngularJS 框架。
我想根据离线集合中存储的数据(使用ground:db)来控制路由,但不能保证离线数据在路由之前准备好。
如果集合不离线,似乎有一些方法像“waitOn”或“subscriptionReady”值得研究,但离线集合不需要订阅或发布,我如何确保它们在路由之前或应用程序启动之前准备好?
关键来源片段:
1.route.js
2.collections.js
大多数情况下,LastLogin.find().count() 为0,很少会为1,实际上lastLogin 集合中有几条记录可以在登录页面显示后正确打印出来,那就太迟了我。
我尝试通过 Tracker.autorun 附上以下代码
但没有帮助。
我的最终目的是让最后一个用户自动登录,即使处于离线状态。有更好的解决方案吗?
cordova - Meteor-React:GroundDB 突然空了
[编辑]更新到 Ground DB v2,使代码更具可读性
我正在尝试在我的项目中使用 GroundDB,因此我的 Meteor-React Cordova 应用程序也可以离线运行。在主容器中,我有以下代码:
如果尚未加载此代码,则应该订阅“本地化”。本地化集合实现如下,find() 和 findOne() 方法已被覆盖以调用接地 DB 的 find():
但是,这会产生以下输出:
看起来不错,对吧?不幸的是,createContainer() 函数在此之后立即再次调用,导致
请帮我解决这个问题。提前致谢
紫杉醇
meteor - 离线时流星android应用程序登录
我正在尝试构建一个 Meteor 应用程序(主要用作 Android 移动应用程序 - 而不是来自浏览器),即使用户离线也能正常工作。出于这个原因,我使用的是Grounddb包。
如果我在连接到互联网时登录我的应用程序,一切都会按预期工作。即使用户在应用程序内断开互联网连接,一切都会按预期工作。如果用户关闭应用程序并重新打开它(离线时),问题就会开始。
调试后,我发现在应用程序启动时,如果启用了Accounts包autologin
(不知何故),loginWithToken
则会调用方法。MeteorloginToken
存在于本地存储中,也user
存在于本地数据库中。方法调用失败,因为我们离线,我猜。
我对 Meteor 比较陌生,我真的不知道如何处理这个问题。我应该禁用自动登录吗?我怎样才能做到这一点?我可以以某种方式使应用程序使用本地数据库进行用户身份验证/授权吗?我在网上找到了很多类似的问题,但找不到任何答案。
meteor - 使用 ground:db 的离线流星应用
我正在使用 Meteor Application 的离线支持。我已经研究过这种支持,但所有人都给出了一个答案'ground:db'。我研究了@raix 所做的非常好的解决方案。我从那个包开始,它已经在工作了,所以我完成的第一个任务是所有集合都以以下语法为基础
之后,我尝试使用我的离线应用程序,但它仍然显示加载,并且我没有得到我的 dom 元素,之后我尝试使用我设置的所有 waitOn 订阅
之后,我可以看到我的 dom,如果我在在线时访问了该页面,那么在我离线后,我就可以看到我的数据。
现在我正在解释我的问题。
1)当我调用我的方法时,如果我离线,它不会更新我的地面集合。我使用下面的代码来恢复我的方法
当我从离线到在线时,它工作正常,它将我的数据同步到服务器,但我无法立即生效。
2)如果我想离线完整应用程序,那么我需要访问我的移动应用程序的每个页面,然后我可以离线获取该数据,但这是不可能的,所以我想要一个集中的东西,我将按下按钮,我可以将我的所有数据接地我想离线。
所以任何人都可以帮我解决上述问题
提前致谢
cordova - Meteor Cordova 离线问题
我正在尝试使用 GroundDB 使我的 Meteor App (angular-meteor) 离线。但是当我在没有 Internet 连接的情况下启动应用程序时,我收到以下消息:
Possible issue: deviceready did not fire in a reasonable amount of time. This can be caused by plugins in an inconsistent state. One possible solution: uninstall/remove all plugins and reinstall them. Additionally, one or more plugins might be faulty or out of date
我已经搜索了互联网没有任何成功,我唯一找到的是: https ://github.com/driftyco/ionic-cli/issues/259
我尝试删除 Cordova-Plugins,一次一个,一次全部删除,仍然没有准备好设备。
还有什么可能的原因?
mongodb - 如何使用 Iron-router(和 ground-db)将 mongo 集合下载为文件?
我想要做的:指定一个路由(使用iron-router),它在访问时开始下载文件。该文件包含来自应用程序 mongo-Databases 的信息。
用例:我正在开发一个流星离线网络应用程序,它也被导出为 android 应用程序。在应用程序中,用户可以保存几个不同的数据/信息。用户应该能够从应用程序内部导出和导入该数据(例如,当他想要切换设备时)。 可能有一个解决方案,这与我的(这个)方法完全不同,我当然也对此持开放态度。
附加信息:我的 mongo-Databases 是本地的(仅限客户端)使用groundDB。如果流星应用程序作为 android 应用程序运行时该解决方案也能正常工作,那将是完美的。文件的实际格式很小(类似于 csv / json / ... )。
当前方法:
基本上我正在寻找this.render(data);
用某物代替的东西。确实如此(在伪代码中)this.download(data);
。
mongodb - Meteor 订阅仅获取新文档
只是想知道是否有办法将我的流星订阅设置为仅从 mongo 集合中加载新文档,避免同步删除和更新(因为它们与显示给用户的数据无关)。
为什么我需要那个?似乎任何时候我Meteor.subscribe
在离线后做一个,整个集合都会再次从服务器发送到客户端,而我只需要新记录。
我认为这恰好是为了保持本地/远程数据库的完整性,但是由于我的应用程序计划在线/离线工作(我也在使用 groundDB),在我看来这在数据使用方面效率非常低。
提前致谢。
mongodb - 在应用程序重新启动之间保留数据时流星地面的问题:db
我正在使用流星包地面数据库“ https://github.com/GroundMeteor/db ”
在我的流星和离子应用程序中。我在应用程序重新启动之间面临数据持久性问题。最初,当应用程序启动并在导航应用程序期间进入离线模式时,数据将被保留。但是,如果我在离线模式下关闭并重新启动应用程序,数据就会丢失。如何在应用程序启动期间获取数据,然后在离线时重新启动应用程序时获取数据?
我的地面数据库版本是 2.0.0-rc.7,离子版本是 3.1.1
我的代码是:
在 collections.ts 中(客户端和服务器通用)
在客户端(在应用程序启动时)
客户
javascript - 离线时如何在流星的ground.db中插入数据
我有一个完整的流星应用程序,但现在我想让它离线,所以我安装了 ground:db 和 appcache 这是我的包文件:
然后我将我的收藏更改为:
现在当应用程序在线时,我可以插入数据,然后我断开应用程序并重新启动(cordova)并且没有数据丢失。
但是当我离线并且我想插入某物时。它不起作用;(。我认为我不必更改我的方法文件,但这里有一种方法只是为了确保它是否正确:
在客户端,消息的调用方式如下: import { Meteor } from 'meteor/meteor'
请帮我在离线时插入数据,因为我希望它是 100% 离线的
谢谢 ;)