2015-03-10 8 views
5

Ich verwende AutoForm, Sammlung2. Ich möchte Methodenaufruftyp für das Einfügen/Aktualisieren verwenden, da ich zusätzliche Felder vor dem Speichern in der Datenbank im Server hinzufügen möchte. SimpleSchema würde die Daten im Client überprüfen, aber wie kann ich sicherstellen, dass die Daten auch serverseitig mit dem Schema verglichen werden? Meine Methode für neue Daten hinzuzufügen, ist wie folgt:Überprüfen von Schema auf Meteor-Methode mit Autoform

Meteor.methods({ 
    companyAdd: function (companyAttr) { 

    // add additional fields to document 

    var currentDate = new Date(); 

    var company = _.extend(companyAttr, { 
     createdBy: user._id, 
     createdAt: currentDate 
    }); 

    var newCompanyId = Companies.insert(company); 
    return {_id: newCompanyId}; 
    } 
} 
+0

Könnten Sie bitte akzeptieren Ihre eigene Antwort und poste einen prägnanten Code? Ihr Code ist voll von kleinen Details und Anpassungen, die nicht notwendig sind, um die Frage zu verstehen. –

+0

THX für die Warnung, löschte ich den Code ein wenig zum leichteren Verständnis –

Antwort

5

ich in der Dokumentation von simpleschema gefunden, wenn jemand anderer Lösung später brauchen würde: Sie gerade gegen Schema überprüfen:

Meteor.methods({ 
    companyAdd: function (companyAttr) { 

    //here we check the data sent to method against the defined schema 
    check(companyAttr, Companies.simpleSchema()); 

    var currentDate = new Date(); 

    var company = _.extend(companyAttr, { 
     createdBy: user._id, 
     createdAt: currentDate 
    }); 

    var newCompanyId = Companies.insert(company); 
    return {_id: newCompanyId}; 
    } 
} 
Verwandte Themen