Meteor 方法发送 public MongoDB 文档而不发布所有内容
Meteor Method to send a public MongoDB document without publishing everything
流星和 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 路由参数或某种客户端标识符(例如可以在其中键入 code/token 的文本字段)直接请求的文件
例如,http://website.com/view/abcdefghijklmnop
任何了解 link 的人都可以输入它并获取文件。但是,应该没有办法只获取 每个 文件而不给出每个标记。
我想知道这是否是完成任务的最佳方式:
//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');
为什么不只发布请求的文档?
Meteor.publish('stuff', function (id){
check(id, String);
return Stuff.find(id);
});
流星和 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 路由参数或某种客户端标识符(例如可以在其中键入 code/token 的文本字段)直接请求的文件
例如,http://website.com/view/abcdefghijklmnop
任何了解 link 的人都可以输入它并获取文件。但是,应该没有办法只获取 每个 文件而不给出每个标记。
我想知道这是否是完成任务的最佳方式:
//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');
为什么不只发布请求的文档?
Meteor.publish('stuff', function (id){
check(id, String);
return Stuff.find(id);
});