2012-10-04 32 views
6

仮想タイプが混在したmongooseスキーマがあります。たとえば:値がオブジェクトの場合、Mongoose仮想セット関数が呼び出されない

var mongoose = require('mongoose') // version 3.3.1 

var FooSchema = new mongoose.Schema({ x: Number }); 

FooSchema.virtual('v').set(function(value){ 
    console.log("SETTING", value); 
}); 

var Foo = mongoose.model('Foo', FooSchema); 

new Foo({ v:1 }); 
new Foo({ v:[] }); 
new Foo({ v:{} }); 

私はこのコードを実行すると、私が手:

SETTING 1 
SETTING [] 

あなたがそれに気づくだろうように、「SETTING {}」、これが動作しない理由をどのような理由を示したことがありませんか?

Reference to issue on Github

+0

オブジェクトにプロパティがあるときはどうなりますか? – Chad

+0

オブジェクトにプロパティがある場合も結果は同じです。 – evanrs

+0

奇妙な、+1私もこれに興味があります。私は誰もそれまでに答えていなければ、明日調査するかもしれません。 – Chad

答えて

関連する問題