问题描述
我有两个模式 - User
和 Site
。 User
具有对 Site
的引用数组。我试图返回 Site
的数组,但由于某种原因,它返回仅包含 ObjectIds 的数组。
用户架构
const UserSchema = new mongoose.Schema({
sites: [{ site: { type: mongoose.Schema.Types.ObjectId,ref: 'Site' },siteRole: { type: Number } }
]})
module.exports = mongoose.model('User',UserSchema)
站点架构
const SiteSchema = new mongoose.Schema({
name: { type: String },url: { type: String }
})
module.exports = mongoose.model('Site',SiteSchema)
我尝试了两种方法,但都返回相同的输出,即返回站点 ObjectIds 数组而不是填充版本
// 1st try
const user = await User.findById(id)
.populate({
path: 'sites',model: 'Site',populate: { path: 'site',model: 'Site' }
}).exec()
// 2nd try
const user = await User.findById(id)
.populate('sites.site')
.exec(function (err,site) {
if (err) return next(err)
if (!site) return res.json(401)
return res.json(site)
})
[
{
"_id": "60476bf103016cef60b63319","siteRole": 11
}
]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)