我想要做的:指定一个路由(使用iron-router),它在访问时开始下载文件。该文件包含来自应用程序 mongo-Databases 的信息。
用例:我正在开发一个流星离线网络应用程序,它也被导出为 android 应用程序。在应用程序中,用户可以保存几个不同的数据/信息。用户应该能够从应用程序内部导出和导入该数据(例如,当他想要切换设备时)。 可能有一个解决方案,这与我的(这个)方法完全不同,我当然也对此持开放态度。
附加信息:我的 mongo-Databases 是本地的(仅限客户端)使用groundDB。如果流星应用程序作为 android 应用程序运行时该解决方案也能正常工作,那将是完美的。文件的实际格式很小(类似于 csv / json / ... )。
当前方法:
// Define route...
Router.route('/download', function(){
/**
* Combine data from different Mongo
* Collections in one js variable in JSON format:
**/
var dataToDownload = [];
dataToDownload[0] = Collection.find().fetch();
dataToDownload[1] = AnotherCollection.find().fetch();
/**
* Convert JSON to string for download (not sure
* if necessary?!):
**/
var data = "text/json;charset=utf-8,"
+ encodeURIComponent(JSON.stringify(dataToDownload));
/**
* This obviosly doesn't work since it's trying to
* render a template which has the name equal to
* my JSON string:
**/
this.render(data);
});
基本上我正在寻找this.render(data);
用某物代替的东西。确实如此(在伪代码中)this.download(data);
。