【发布时间】:2015-12-11 23:40:40
【问题描述】:
meteor 和 mongo 的新手。
我有一些 JSON 存储在 mongo 中,我想通过混淆令牌公开公开,而不使用类似的东西:
//app/models/stuff.js
Stuff = new Mongo.Collection("stuff");
Meteor.publish("stuff", function (){
return Stuff.find();
});
//additionally, the client-side subscription
我只想公开客户端通过 URL 路由参数或某种客户端标识符(例如您可以在其中键入代码/令牌的文本字段)直接请求的文件
例如,http://website.com/view/abcdefghijklmnop
任何知道该链接的人都可以输入该链接并获取该文件。但是,应该没有办法只获取 每个 文件而不给出每个令牌。
我想知道这是否是完成任务的最佳方式:
//app/server/stuff.js
Meteor.methods({
getStuff: getStuff
});
function getStuff(stuffId) {
var result = Stuff.find({_id: stuffId});
return result;
}
然后
//app/client/stuff.js
var json = Meteor.call('getStuff', 'abcdefghijklmnop');
【问题讨论】:
-
听起来使用服务器端路由可能会更好。然后,您可以避免方法调用,甚至可以从非浏览器(例如 wget 或 curl)使用 url。
-
看来CollectionFS 可能适合这里。
-
hrm,我实际上不想提供文件,我只想为客户端提供一些 json。我会更新帖子。
标签: mongodb meteor angular-meteor