【发布时间】:2017-02-10 19:59:36
【问题描述】:
当我使用填充方法时,我仍然只得到_id。
这是我希望在其中发生的控制器:
show: function(req, res) {
User.findOne({
_id: req.params.id
})
.populate("roommates")
.exec(function(err, user) {
if (err) {
console.log(err);
} else {
res.json(user.roommates)
}
})
}
这是我的用户模型,最底部是室友参考:
var UserSchema = new Schema({
name: String,
username: {
type: String,
required: [true, "Please enter a username"],
minlength: [6, "Username must be at least 6 characters"],
maxlength: [15, "Username cannot exceed 15 characters"],
unique: true
},
password: {
type: String,
required: [true, "Please enter a password"],
minlength: [6, "Password must be at least 6 characters"],
maxlength: [17, "Password cannot exceed 17 characters"],
},
roommates: [{roommate: {type: Schema.Types.ObjectId, ref: "User"}, status: {type: String, default: "pending"}, requests: [{description: String, amount: Number}], balance: Number}]
})
什么给了?我之前已经让这个填充方法在另一个应用程序中工作,但它并没有给我返回引用的对象,只是正常的对象,因为它存在于数组中,没有必要的用户详细信息。
这是响应.. 但 _id 应该填充到带有其他属性(如名称等)的 objetx 中......:
[
{
"_id": "57f17d5f51cdcb0b5cefe74d",
"balance": 0,
"requests": [],
"status": "pending"
}
]
【问题讨论】:
标签: node.js mongodb express mongoose database