2013-11-04 44 views
0

我不确定这是否正确,但IMO输出TRUE而输出FALSE。猫鼬:嵌套属性为空

我做错了什么?

var mongoose = require('mongoose'); 

var NestedSchema = new mongoose.Schema({ 
    nestedProperty: { 
     nestedValue: String 
    } 
}); 

var Nested = mongoose.model('Nested', NestedSchema); 

var instance = new Nested(); 

instance.nestedProperty = null; 

console.log(instance.nestedProperty == null); 

回答

0

该值存储为(类型)字符串。

console.log(instance.nestedProperty == "null"); // true 
    console.log(typeof instance.nestedProperty === "string"); // false 
+0

好的。但是,这真的是检查/断言/ ...可能被认为是一个错误? – user2953088

+0

确实很烦人。这与检查_“undefined”_而不是_undefined_相同。我会说你可以把它当成一个bug。但是,由于_nestedProperty_是_string_类型,因此可能会有一些解释。如果没有_string_类型将_null_转换为_string_类似,那么值得测试。 –