当值是对象时,Mongoose虚拟设置函数不被调用
我有一个混合types的虚拟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 []
你会注意到它永远不会显示“设置{}”,为什么这不起作用的任何理由?
参考Github上的问题
这是一个在Mongoose中的公开问题, 最近由Aaron Heckmann 提交 。