【发布时间】:2016-11-25 06:13:40
【问题描述】:
此 Meteor 代码需要发布一个文档,其中包含用户输入的字段 plateNum 匹配值。
为什么它不返回任何东西?如何解决?
//server.publications.js
Meteor.publish('myCol', function (plate) {
if (this.userId && plate) {
return myCol.find({plateNum: plate}, {fields: {a: 1, b: 1, c: 1, engineSize: 1 }});
}
});
字段 'a', 'b', 'c' 的值可能在用户请求时尚未准备好,但将由后端工作人员计算并更新myCol
//client.main.js
Meteor.subscribe('myCol', dict.get('plateNum')); //<== stored info from user
Template.footer.events({
'click #info': () => {
searching = '<span class="note">Searching...</span>';
let plate = document.getElementById('plateNum').value;
plate = plate.replace(/\W/g, '').toLowerCase().trim(); //
dict.set('plateNum', plate); //<=== store user info here
let doc = myCol.findOne({plateNum: plate});
if (!doc || !doc.a) Meteor.call('aaa', plate);
if (doc && !doc.b) Meteor.call('bbb', {plateNum: plate}, () => {});
if (doc && doc.c && !doc.c) Meteor.call('ccc', {plateNum: plate}, () => {});
}
});
【问题讨论】:
标签: meteor