我正在使用mongodb的node.js和mongoosejs framwork。我试图将猫鼬模型转换为对象,我能够做到这一点,但我只获得更少的元素而不是获得所有元素。下面是我试过的代码。
user.js的
var schema = new Schema({
name:{ type:string },
title:{ type:string, default:"mr" }
});
module.exports = mongoose.model('Users', schema);
usermanager.js
var User = require(../user.js);
var user = new User();
console.log(user.toString());
//printed as {_id:2583457assda312, title:'mr'}
我期待该对象中的名称键。我也试过toObject它也给了我同样的回应。 是否有任何意义可以实现这个目标?
答案 0 :(得分:3)
您的用法应如下所示:
var user = new User({ name: "Fred" })
您将从您定义的内容中获取值,因此在这种情况下:
//printed as {_id:2583457assda312, name: "Fred", title:'mr'}
或者您提供的标题如下:
var user = new User({ name: "Wilma", title: "Ms" })
再次获得输出
//printed as {_id:2583457assda312, name: "Wilma", title: "Ms"}
如果你要做的是检查模式,那么Mongoose模式对象上有一个paths
属性
console.log( user.schema.paths )
这应该为您定义您定义的模式的各个部分。