当值为object时,不调用Mongoose虚拟集函数

时间:2012-10-04 22:16:58

标签: node.js 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

1 个答案:

答案 0 :(得分:1)

这是Mongoose中的一个未解决的问题,fixed in a recent commitAaron Heckmann