Mongoose模型值作为string而不是对象返回
我有一个mongoose模型,有一些嵌套的属性。 当我使用这个模型查询文档时,文档被返回,但是我只能访问两层深的属性,有时候。 其他嵌套对象返回的东西,而不是一个对象的属性,我可以访问与点符号,我不明白为什么。
有谁知道这可能是什么原因造成的?
var mySchema = new Schema({ settings: { some_settings: { enabled: { type: Number, min: 0, max: 1, default: 0 }, interval: { type: Number, min: 0, default: 30 }, // seconds start_diff: { type: Number, min: 0, default: 3600 } // seconds }, other_settings: { push_settings: { type: Number, min: 0, max: 1, default: 1, sparse: true } } } });
当我在findOne
查询后返回并运行settings.other_settings.push_settings
,返回undefined,即使值在数据库中。 但是,如果我console.log(settings.other_settings)
控制台打印出正确的值,但他们不能被访问。 就好像mongoose不认识到这个嵌套对象存在一样。
编辑 :运行findOne后,我收到的文档打印到控制台,如下所示:
{ _id: ObjectId('...'), settings: { some_settings: { enabled: 1, interval: 30, start_diff: 3600 }, other_settings: { push_settings: 1 } } }