Я новичок в метеор и autoform и пытаюсь получить форму для вставки в монго. Независимо от того, что я изменил, это просто не сработает. Я понятия не имею, что попробовать дальше.Метеор: автоформат не отправляет сообщения в mongo
Я удалил неуверенно и автоматически опубликовал. Прикрепленная ссылка на мой .js и мой html-файл.
У меня есть схема, получившая форму, чтобы показать на html отлично. теперь, когда я ударил, ничего не вводится в манго. Я разрешаю настройку правил. У меня тонна отображения console.logs, и все они запускаются и следуют так, как если бы сообщение было успешным. Фактически в onSuccess я получаю номер документа, но в моей БД нет ничего.
Любая помощь здесь очень ценится. Я знаю, что здесь должно быть что-то маленькое, но я долго терпел свой мозг в поисках бесконечных поисков.
.js файл без схемы. Полный JS файл в ссылке plnkr
if (Meteor.isClient) {
// ********************************************************
// *** Creating the database scheme for the customer account
// ********************************************************
customers = new Mongo.Collection("customer");
AutoForm.debug();
var postHooks = {
before: {
insert: function(doc) {
console.log("Getting to posting hooks");
if(Meteor.userId()){
doc.createdUser = Meteor.userId();
doc.createdDate = Date();
console.log("Got to the insert before hook!");
}
return doc;
}
},
after: {
// Replace `formType` with the form `type` attribute to which this hook applies
insert: function(error, result) {
console.log("Getting to the after insert function");
console.log(error);
console.log(result);
console.log("New Document ID is " + this.docId);
}
},
onSuccess: function(formType, result) {
console.log("Getting to the insert sucess area");
console.log(result);
},
onError: function(formType, error) {
console.log(error);
}
}
AutoForm.addHooks('insertCustomer', postHooks);
Template.customerTemplate.helpers({
showLoginError: function(){
return showCustomerSaveError;
}
});
}
if (Meteor.isServer) {
customers = new Mongo.Collection("customer");
customers.allow({
insert: function (userId, doc) {
console.log("Getting to the insert server call");
// the user must be logged in
return !! userId;
},
update: function (userId, doc, fields, modifier) {
// can only change your own documents
return doc.owner === userId;
},
remove: function (userId, doc) {
// can only remove your own documents
return doc.owner === userId;
},
fetch: ['owner']
});
}
http://plnkr.co/edit/5pM0Co9luGLIBBNKP5YA
Я не прочитал вопрос, но я предлагаю вам использовать Autoform.debug(). Это приведет к печати ошибок автоматической формы на консоли и упростит решение вашей проблемы. –
У меня уже есть код, указанный в коде, и он только печатает одну вещь на консоли, которая является чистым методом для функции даты. Никаких других сообщений или сообщений не создается из отладки. – BobFranz
Вы уверены, что нет ничего в db? Может быть, вы не публикуете документ, и он действительно находится в db. Показывая, что ваши журналы могут помочь отладки слишком –