离线时如何在地面.db流星中插入数据



我有一个完全工作的 meteor 应用程序,但现在我想让它离线,所以我安装了 ground:db 和 appcache 这是我的包文件:

...
ground:db
appcache
ground:localstorage

然后我将我的收藏更改为:

Gebiete = new Mongo.Collection('gebiete');
Straßen = new Mongo.Collection('straßen');
Nummern = new Mongo.Collection('nummern');
Ground.Collection(Gebiete);
Ground.Collection(Straßen);
Ground.Collection(Nummern);

现在,当应用程序联机时,我可以插入数据,然后断开应用程序并重新启动(Cordova(,并且不会丢失任何数据。

但是当我离线并且我想插入 sth 时,它不起作用;(。我建议我不必更改我的方法文件,但这里有一种方法只是为了确保它是否正确:

Meteor.methods({
neuesGebiet(Besitzer, Gebietsname, Gebietsnummer, Ort, Erstellungsdatum) {
Gebiete.insert({ 
Besitzer: Besitzer,         
Gebietsname: Gebietsname,
Gebietsnummer: Gebietsnummer,
Ort: Ort,
Erstellungsdatum: Erstellungsdatum
});        
}
});

在客户端上,消息的调用方式如下: 从"流星/流星"导入{流星}

Template.neuesGebietErstellen.onCreated(function () {
this.subscribe('gebiete');
});

Template.neuesGebietErstellen.events({
"submit .add-Gebiet": function (event) {
var Gebietsname = event.target.Gebietsname.value;
var Gebietsnummer = event.target.Gebietsnummer.value;
var Ort = event.target.Ort.value;
var Besitzer = Meteor.userId();
var Erstellungsdatum = new Date();
var Datum = Erstellungsdatum.toLocaleDateString();
Meteor.call('neuesGebiet', Besitzer, Gebietsname, Gebietsnummer, Ort, Datum)
FlowRouter.go('/');
return false;        
}
});

请帮助我在离线时插入数据,因为我希望它 100% 离线

谢谢;)

自从我使用 Ground:db 以来已经有一段时间了,但这是我认为你缺少的......

首先,您可能只想在科尔多瓦上扎根收藏,所以

if(Meteor.isCordova) {
Ground.Collection(Gebiete);
Ground.Collection(Straßen);
Ground.Collection(Nummern);
}

然后,您需要使用 Groundways 来存储方法调用。所以在方法的定义之后:

Meteor.methods({
'neuesGebiet': function(...) {
...
}
});
if( Meteor.isClient ) {
Ground.methodResume([
'neuesGebiet'
]);
}

最新更新