我想要/business/:id/menus
在做Post
请求时,将刚刚新保存newMenus
中的_id
向数据库Business
中的menu
插入,但是,当我刚刚对一个新Menus
,怎么样才能获取到它到_id
?
./models/business.js
...
var businessSchema = new Schema({
name: {type: String, required: true},
locating: {type: String, required: true},
intro: {type: String, required: true},
menu: {type: Schema.Types.ObjectId, ref: 'Menus'},
created: {type: Date, default: Date.new },
published: {type: Boolean, default: false},
author: {type: Schema.Types.ObjectId, ref: 'Roots'}
})
...
./models/menus.js
...
var menusSchema = new Schema({
name: {type: String, required: true},
intro: {type: String, required: true},
busines: {type: Schema.Types.ObjectId, ref: 'Business'},
created: {type: Date, default: Date.new },
published: {type: Boolean, default: false},
author: {type: Schema.Types.ObjectId, ref: 'Roots'}
})
...
./api/add.js
router.post('/business/:id/menus',
passport.authenticate('bearer',{session: false}),
(req,res) => {
const data = req.body;
if(!data.name || !data.intro || !data.comments) {
res.json({
success: false,
message: '数据提交不完整'
})
} else {
Busines.findOne({_id: id},(err,business) => {
const newMenus = new Menus({
name: data.name,
intro: data.intro,
comments: data.comments,
busines: id
})
newMenus.save((err) => {
if(err) {
return res.json({
success: false,
message: '保存数据失败'
})
}
res.json({
success: false,
message: '保存数据成功'
})
})
})
// business.menus.push()
}
})
save有第二个参数data 就是你保存那条的信息