0

私は自分のコードの問題を、必要不可欠なものに要約しました。

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var get_dob = function(date) {
  return "" + (date.getMonth() + 1) + "/" + (date.getDate()) + "/" + (date.getFullYear());
};

FooSchema = new Schema({
  dob: { type: Date, get: get_dob }
});

mongoose.connect("mongodb://127.0.0.1/test");
Foo = mongoose.model('Foo', FooSchema);

Foo.remove({}, function(err) {
  var f;
  f = new Foo({
    dob: Date.now()
  });
  f.save(function(err) {
    Foo.findOne({}, function(err, doc) {
      console.log(doc.toObject({
        getters: true
      }));
    });
  });
});

日付の出力は次のとおりです。

Mon, 07 May 2012 07:00:00 GMT

ゲッターが適用されないのはなぜですか?

4

1 に答える 1

1

get/cast操作の順序にバグがあります。それは1年以上の間この方法でした。これは、今後の3.xリリースで修正される予定です。まだチケットが開いていない場合は、ここでチケットを開いてください。

于 2012-05-08T03:24:42.807 に答える