我的申请是发布' memberPrice'字段,当它不应该。在我的publish.js文件中,我指定memberPrice不被发布。这是我的server / publish.js:
Meteor.publish('cars', function() {
return Products.find({category: 'vehicle'}, {limit: 10}, {fields: {memberPrice: 0}});
});
我的控制器:
carsController = RouteController.extend({
waitOn: function () {
var sessionId = Session.get('sessionId');
console.log("Session: ", sessionId);
Meteor.subscribe('cars');
Meteor.subscribe('cartItems', sessionId);
},
action: function() {
this.render('Cars');
}
});
这是我的桌子使用的是aldeed:tabular包:
TabularTables = {};
Meteor.isClient && Template.registerHelper('TabularTables', TabularTables);
TabularTables.Cars = new Tabular.Table({
name: "Cars",
collection: Products,
columns: [
{data: "productCode", title: "Product Code"},
{data: "brand", title: "Brand"},
{data: "productLineName", title: "Product Name"},
{data: "description", title: "Description"},
{data: "memberPrice", title: "Member Price"}
]
});
有谁知道发生了什么?
谢谢!
答案 0 :(得分:2)
您将三个参数传递给Products.find
,但它只需要两个参数。 {limit: 10}, {fields: {memberPrice: 0}}
应为{limit: 10, fields: {memberPrice: 0}}
。
答案 1 :(得分:1)
在过去,我的发布方式与您所拥有的一样,但是我从David Weldon页面阅读了这篇文章。
我将发布更改为此类内容。
Meteor.publish('cars', function() {
var selector = {category: 'vehicle'};
var options = {limit: 10,fields: {memberPrice: false}};
return Products.find(selector,options);
});
根据你的发布功能,应该在这里排除memberPrice选项,试试这个,这里我们遵循Collection.find的正确语法collection.find([selector], [options])
,你有类似{{1}的东西}}