【发布时间】:2018-12-02 14:17:26
【问题描述】:
我正在使用邮递员向 mongoDb 发送 Rest POST Request(form-data)。即使在模型中提供了所有键值对之后,也只有 product _id 被存储到数据库中,而不是其他对象数组。这是我的模型架构:
const mongoose = require('mongoose');
const productSchema = mongoose.Schema({
name: String,
price: Number,
editor1: String,
year: String,
quantity: Number,
subject: String,
newProduct: String,
relatedProduct: String,
//coverImage: { type: String, required: false }
});
module.exports = mongoose.model('Product', productSchema);
这是我对产品的 POST 请求:
exports.products_create_product = (req, res, next) => {
const product = new Product(req.body);
product
.save()
.then(result => {
console.log(result);
res.status(201).json({
message: "Created product successfully",
createdProduct: {
name: result.name,
price: result.price,
_id: result._id,
request: {
type: "GET",
url: "http://localhost:3000/products/" + result._id
}
}
});
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
};
这是我的结果输出:
{
"message": "Created product successfully",
"createdProduct": {
"_id": "5b2df3420e8b7d1150f6f7f6",
"request": {
"type": "GET",
"url": "http://localhost:3000/products/5b2df3420e8b7d1150f6f7f6"
}
}
}
尝试了所有可能的方法来解决这个问题,但徒劳无功。
【问题讨论】:
-
你是在任意路径调用函数吗
-
@PrajvalM 是的。所有特定路线都已定义