わかりました、私はマングースが初めてで、仮想プロパティの使用方法を理解しようとしています。これは私がテストしたサンプルコードです。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var objSchema = new Schema({
created: {type: Number, default: Date.now()},
});
objSchema.virtual('hour').get(()=>{
//console.log(this);
var d = new Date(this.created);
return d.getHours();
});
var obj = mongoose.model('obj', objSchema);
var o = new obj();
o.toObject({virtuals: true});
console.log(o.created);
console.log(o.hour);
だから私はログが次のようなものになることを期待しています:
1457087841956
2
しかし、出力は
1457087841956
NaN
そして、仮想ゲッターの先頭で「this」をログに記録すると、{} が出力されます。私は何を間違っていますか?