我正在考虑在Meteor中构建我的下一个应用程序。我的数据模型包括要传递给客户端的对象,但其内容需要在推送之前动态过滤。
示例:
var obj = {
name: "John",
secret: "A very shy guy"
}
我希望能够访问服务器上的secret
属性以及客户端上的“admin”用户,但是其他用户不应该在其客户端上看到。
实施此方法的最佳方法/框架是什么?
答案 0 :(得分:4)
将meteor发布功能与您的集合一起使用,您可以使用排除或包含:
服务器端JS 排除:
Meteor.publish("mycollection", function () {
return mycollection.find({}, {fields: {secretInfo: 0}});
});
服务器端JS 包含:
Meteor.publish("mycollection", function () {
return mycollection.find({}, {fields: {name: 1}});
});
然后在您的客户端订阅此发布:
客户端js
Meteor.subscribe("mycollection");
有关meteor docs的发布功能的更多信息:http://docs.meteor.com/#meteor_publish
另请查看各方示例(使用截屏视频):http://meteor.com/examples/parties