1

Я хочу инициализировать поле в simpleSchema. Я хочу установить userId в поле строки.Вставить meteor.userId в mongoDB

здесь схема:

AdsSchema = new SimpleSchema({ 
    title: { 
    type: String, 
    label: "Title" 
    }, 
    insertedBy: { 
    type: String, 
    label: "Inserted By", 
    autoform:{ 
     type:"hidden" 
    }, 
    autoValue: function() { 
     if (this.userId) { 
     return this.userId; 
     } 
    } 
    } 
} 

но после вставки по AutoForm, вставленный документ:

{ 
    "_id" : "Zm5TML5bwJhyN8B9F", 
    "title" : "test" 
} 

это означает, что поле "insertedBy" имеет "нулевое" значение!

как я могу это исправить?

ответ

1

Попробуйте с if(Meteor.userId()) return Meteor.userId()

this в Автозначении имеет ограниченные свойства, проверьте Doc Autoform Docs

дал небольшое исследование по Автозначению, Под cleaning Data есть упоминание о собственности extendAutoValueContext, которая помогает использовать USERID .

+0

Я использую Meteor.userId() вместо this.userId, и проблема решена. благодаря – Roohollah