【发布时间】:2013-02-08 17:46:32
【问题描述】:
如果我在猫鼬中有一个看起来像这样的模式(示例):
Meta = new Schema
type_id:Number,
datahash: String,
data: Schema.Types.Mixed
这一切都很好。我可以查询 Meta.datahash 并取回值等等。但是如果我查询 Meta.OtherProp,那么我会得到一个错误,因为该属性不存在于型号。
在 PHP 中,你有可以处理这个问题的魔法方法(getter/setter)。
有没有办法在 Mongoose(或 NodeJS)中做到这一点。非常欢迎示例:)
BR/太阳
编辑: 假设数据是这样的对象:
{
56:'somevalue',
77:'Othervalue'
}
现在 - 有什么方法可以像这样直接查询
Meta.data.56
然后返回“somevalue”?
还有没有办法避免我查询的js错误
Meta.data.90
因为属性不存在?
【问题讨论】:
-
这个错误是JS错误还是Mongoose错误?
-
将
data声明为Schema.Types.Mixed,您应该能够查询其中的任何字段,而无需在架构中声明它。 -
我需要的是 [] 而不是点符号和猫鼬中的默认值。