Meteor:Autoform 不向 mongo 提交帖子
Meteor: Autoform not submitting posts to mongo
我是 meteor 和 autoform 的新手,正在尝试获取要插入到 mongo 中的表单。不管我做了什么改变,它都行不通。我不知道接下来要尝试什么。
我已经删除了不安全和自动发布。附件是我的 .js 和 html 文件的 link。
我已经设置了一个方案,让表格完美地显示在 html 上。现在,当我点击提交时,mongo 中没有任何内容。我有允许规则设置。我有大量 console.logs 显示,它们都触发并跟随,就好像 post 成功了一样。事实上,在 onSuccess 中,我得到了一个文档编号,但我的数据库中没有任何内容。
非常感谢此处的任何帮助。我知道这里一定是小东西,但我绞尽脑汁找了好几个小时。
.js 文件没有方案。 plnkr 中的完整 js 文件 link
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']
});
}
您正在将文件添加到数据库,但并未发布。
运行 meteor add autopublish
或签入 MongoDB 本身以查看文档。
我是 meteor 和 autoform 的新手,正在尝试获取要插入到 mongo 中的表单。不管我做了什么改变,它都行不通。我不知道接下来要尝试什么。
我已经删除了不安全和自动发布。附件是我的 .js 和 html 文件的 link。
我已经设置了一个方案,让表格完美地显示在 html 上。现在,当我点击提交时,mongo 中没有任何内容。我有允许规则设置。我有大量 console.logs 显示,它们都触发并跟随,就好像 post 成功了一样。事实上,在 onSuccess 中,我得到了一个文档编号,但我的数据库中没有任何内容。
非常感谢此处的任何帮助。我知道这里一定是小东西,但我绞尽脑汁找了好几个小时。
.js 文件没有方案。 plnkr 中的完整 js 文件 link
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']
});
}
您正在将文件添加到数据库,但并未发布。
运行 meteor add autopublish
或签入 MongoDB 本身以查看文档。