вставить метеор.userId в mongoDB

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

вот схема:

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;
      }
    }
  }
}

но после вставки с помощью автоформы вставленный документ:

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

это означает, что поле «insertBy» имеет «нулевое» значение!

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


person Roohollah    schedule 03.03.2016    source источник


Ответы (1)


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

this в autoValue имеет ограниченные свойства, см. документ Autoform Docs

Немного изучил autoValue . Под cleaning Data есть упоминание о свойстве extendAutoValueContext , которое помогает использовать userId .

person Sai Ram    schedule 04.03.2016
comment
Я использую Meteor.userId() вместо this.userId, и проблема решена. спасибо - person Roohollah; 05.03.2016