【问题标题】:Mongoose virtual set function not called when value is object当值为对象时未调用 Mongoose 虚拟集函数
【发布时间】:2012-11-29 03:02:00
【问题描述】:

我有一个混合类型的虚拟猫鼬模式。例如:

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 我也对此感兴趣。如果到那时还没有人回答,我明天可能会调查。

标签: node.js mongoose


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 2019-02-10
    • 2020-07-02
    相关资源
    最近更新 更多