Dieser Meteor-Code muss ein Dokument veröffentlichen, dessen Feld plateNum
den vom Benutzer eingegebenen Übereinstimmungswert enthält.
Warum gibt es nichts zurück? Wie man es repariert?Meteor secure subscribe & publish
//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 }});
}
});
Die Werte der Felder ‚a‘, ‚b‘, ‚c‘ zum Zeitpunkt der Benutzeranforderung nicht bereit sein, wird aber durch berechnet werden ein Back-End-Arbeiter und aktualisieren sie die 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},() => {});
}
});
Und was Code-Vorschlag können Sie dies anbieten? –
hey Ich habe gerade die Antwort aktualisiert, wenn es irgendwelche unklaren Dinge gibt, nur kommentieren und ich werde es erklären – Khang