我正在练习使用 Node.js 将数据保存到 MongoDb。
我已经设置了 Express 服务器并创建了一个 Mongoose 模型,但是当我尝试通过 Postman 保存一些数据时,它不断返回 ObjectParameterError。
Mongoose 版本是 5.5.13,Express 版本是 4.17.1。
通过 Mongoose 连接到 MongoDb 没有问题,因为它至少不会返回任何错误,但问题是当我尝试使用 post 请求保存一些数据时。
这是我的 server.js 发布请求:
router.post("/create_contact", (req, res) => {
const { name, number } = req.body;
let contact = new ContactData(name, number);
contact.save((error, contact) => {
if (error) {
return console.error(error);
}
return res.json(contact);
});
});
我的 data.js 定义了 Mongoose 架构和模型:
const mongoose = require("mongoose");
const ContactSchema = mongoose.Schema({
name: String,
number: Number
});
module.exports = mongoose.model("ContactData", ContactSchema);
如您所见,它只有两种类型的数据:名称和编号。
我想将此简单的联系人数据保存到本地 MongoDb 中,但出现此错误:
ObjectParameterError: Parameter "obj" to Document() must be an object, got John Doe
at new ObjectParameterError (D:\LearnReact\db\backend\node_modules\mongoose\lib\error\objectParameter.js:25:11)
at model.Document (D:\LearnReact\db\backend\node_modules\mongoose\lib\document.js:73:11)
at model.Model (D:\LearnReact\db\backend\node_modules\mongoose\lib\model.js:96:12)
at new model (D:\LearnReact\db\backend\node_modules\mongoose\lib\model.js:4580:15)
at router.post (D:\LearnReact\db\backend\server.js:28:17)
at Layer.handle [as handle_request] (D:\LearnReact\db\backend\node_modules\express\lib\router\layer.js:95:5)
at next (D:\LearnReact\db\backend\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (D:\LearnReact\db\backend\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (D:\LearnReact\db\backend\node_modules\express\lib\router\layer.js:95:5)
慕慕森
qq_花开花谢_0
汪汪一只猫
相关分类