Я практикуюсь по сохранению данных в MongoDb с помощью Node.js.
Я настроил сервер Express и создал модель Mongoose, но когда я пытаюсь сохранить некоторые данные через Postman, он продолжает возвращать ошибку ObjectParameterError.
Версия Mongoose - 5.5.13, а версия Express - 4.17.1.
У подключения к MongoDb через Mongoose нет проблем, поскольку по крайней мере он не возвращает никаких ошибок, но проблема заключается в том, что япытаюсь сохранить некоторые данные с помощью пост-запроса.
Вот мой пост-запрос от моего 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);
Как видите, он содержит только 2 типа данных: имя и номер.
Я хочу сохранить эти простые контактные данные в локальном 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)
at D:\LearnReact\db\backend\node_modules\express\lib\router\index.js:281:22
at Function.process_params (D:\LearnReact\db\backend\node_modules\express\lib\router\index.js:335:12)
at next (D:\LearnReact\db\backend\node_modules\express\lib\router\index.js:275:10)
at Function.handle (D:\LearnReact\db\backend\node_modules\express\lib\router\index.js:174:3)
at router (D:\LearnReact\db\backend\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (D:\LearnReact\db\backend\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (D:\LearnReact\db\backend\node_modules\express\lib\router\index.js:317:13)
Чего мне не хватает?Заранее спасибо за помощь.