javascript - 如何将孩子(参考)添加到猫鼬?
问题描述
我的行是空的。我的方案:
// models/Tobacco.js
const mongoose = require('mongoose');
// FYI: important for populate work!!!
const tobaccoLineSchema = mongoose.Schema({
name: {type: String, required: true},
subTitle: {type: String, required: true},
count: {type: Number, required: true}
});
const Schema = mongoose.Schema;
const TobaccoSchema = new mongoose.Schema({
createdAt: {
type: Date,
default: Date.now
},
title: {
type: String,
required: true
},
subTitle: {
type: String,
required: false
},
bannerSrc: {
type: String,
required: false
},
socials: [],
lines: [
{
type: Schema.Types.ObjectId,
ref: 'tobaccoLine'
}
]
}
,{toObject:{virtuals:true}, toJSON:{virtuals:true}});
const TobaccoLine = mongoose.model('tobaccoLine', tobaccoLineSchema);
module.exports = mongoose.model('tobacco', TobaccoSchema);
在 API 中添加填充行
router.get('/:id', (req, res) => {
Tobacco.findById(req.params.id).populate('lines')
.then(tobacco => res.json(tobacco))
.catch(err => res.status(404).json({ notobaccofound: 'No Tobacco found' }));
});
我怎么看不到问题。客户端取烟草,但行是空的。
解决方案
需要将属性添加到子实体方案中。
const tobaccoLineSchema = mongoose.Schema({
name: {type: String, required: true},
subTitle: {type: String, required: true},
count: {type: Number, required: true},
_tobacco: { type: Schema.Types.ObjectId,
ref: 'tobacco' }
});
推荐阅读
- java - Java 应用服务器推荐(Glassfish vs TomcatEE vs Wildfly)
- angular - 将登录页面放在主页中
- android - 努力使用flutter cloud Firestore一次更新多个文档
- octave - 错误“num2str:PRECISION 必须是标量整数 >= 0”
- android - 使用反射时如何解决歧义?
- c++ - eigen(c++):如何访问矩阵的一部分?
- javascript - 图片上传 api imgur 返回 400
- javascript - Safari 中的自定义未保存表单警告出现两次
- python - 使用 DictWriter 从 CSV 文件中删除行
- python-3.x - python中的URL缩短器