如果以前曾被问过,请忽略;我的关键字搜索无法找到它。感谢是否有人可以提供一些提示。 学习猫鼬,节点js。我有像下面的JSON帖子
{
"_id": "711015",
"is_in_violation": true,
"is_occupied": true,
"is_out_of_service": false,
"is_reserved": false
}
mongoose架构如下所示:
//Create schema and model SlotSchema
const dbSchema = new Schema({
_id:
{
type: String ,
required: [true, "Id is required"]
},
is_in_violation: Boolean,
is_occupied: Boolean,
is_out_of_service: Boolean,
is_reserved: Boolean
});
在我的nodejs应用程序中,我发布了如下功能:
router.post('/v1/', function (req, res, next)
{
var postdata = new SlotSchema(req.body);
SlotSchema.create(req.body, function (err, postdata) {
if (err) return next(err);
res.json(postdata);
});
});
所有这一切都很好。现在注意到数据POST将具有id而不是_id。如何将req.body id映射到我的moongose schema _id。 以下是JSON,它不起作用:
{
"id": "711015",
"is_in_violation": true,
"is_occupied": true,
"is_out_of_service": false,
"is_reserved": false
}
感谢您的时间。干杯
答案 0 :(得分:0)
这个链接给了我一些想法谢谢@saikat。以下是我现在最终解决的问题。
router.post('/v1/', function (req, res, next)
{
console.log(req.body.id);
req.body._id = req.body.id;
var postdata = new SlotSchema(req.body);
console.log(postdata);
SlotSchema.create(postdata, function (err, postdata) {
if (err) return next(err);
res.json(postdata);
});
});
虽然这是我认为的手动映射。它似乎符合我的目的。我本来想看看,如果可以从传入的POST到我的架构进行自动映射。干杯