Я использую пакет Autoform и Collection2 в метеор. Я пытаюсь сохранить текущий вход в userId с вставленными данными. Каков правильный способ сделать это?Как я могу добавить дополнительное поле с автоматической установкой данных в метеор?
// both/collections/myCollection.js
MyCollection = new Mongo.Collection("mycollection");
MyCollection.attachSchema(new SimpleSchema({
fname : {
type: String,
label: "First Name"
},
lname : {
type: String,
label: "Last Name",
}
}));
MyCollection.allow({
insert: function(userId, doc){
return doc && doc.userId === userId;
},
update: function(userId, doc){
return doc && doc.userId === userId;
}
})
myTemplate.html
// client/myTemplate.html
<template name="myTemplate">
{{> quickForm collection="MyCollection" id="insertMyData" type="insert"}}
</template>
myTemplate.js
// client/myTemplate.js
Template.myTemplate.created = function(){
var postHooks = {
before: {
insert: function(doc) {
if(Meteor.userId()){
doc.userId = Meteor.userId();
}
return doc;
}
}
}
AutoForm.addHooks('insertMyData', postHooks);
}
я удалить небезопасный пакет и пытался с записью данными со Разрешить/Запретить (link), но теперь я получаю ошибку например:
Meteor.makeErrorType.errorClass {error: 403, reason: "Access denied", details: undefined, message: "Access denied [403]", errorType: "Meteor.Error"…}
Обычно AUTOFORM хранения данных, как:
{
"_id" : "r4uskTttNzADnhZjN",
"fname" : "firstName",
"lname" : "lastName"
}
Я хотел сохранить как:
{
"_id" : "r4uskTttNzADnhZjN",
"fname" : "firstName",
"lname" : "lastName"
"currentUser" : "lsgNynHDrM4Dv9wpH"
}
Я попытался с этой штукой, но такая же ошибка наступает «Доступ запрещен [403]». я принимаю ** «MyCollection.allow ({...})» ** и ** «var postHooks = {...} AutoForm.addHooks (....)" ** находится в нужном месте. это? – iamhimadri