无法将值传递到 MongoDB,使用 Node 和 Express,Mongoose
Posted
技术标签:
【中文标题】无法将值传递到 MongoDB,使用 Node 和 Express,Mongoose【英文标题】:Can't pass values into MongoDB, using Node and Express, Mongoose 【发布时间】:2021-12-11 12:39:36 【问题描述】:每当我尝试传递值时,我得到的都是这个 -
_id: new ObjectId("617794d97422073932859636"), __v: 0
我正在使用 -
app.use(express.urlencoded());
app.use(express.json());
所以不知道为什么它没有正确脱色。获取请求似乎有效,只是放置请求无法正常工作。
router.post("/", async (req,res) =>
try
const result = await insertUser(req.body);
console.log(result);
catch (error)
console.log(error)
res.json(status: "error", message: error.message)
console.log(result)
res.json(message: "new user created", result)
);
''
const insertUser = (userObj) =>
return new Promise((resolve,reject) =>
UserSchema(userObj)
.save()
.then((data) => console.log(data))
.catch((error) => console.log(error))
)
module.exports = insertUser,;
任何帮助将不胜感激!谢谢。
【问题讨论】:
你能解释一下你在哪里传递数据你的问题不太清楚,请解释一下 @Shahid 我正在发送一个 PUT 请求并将 JSON 传递到数据库中。但它不起作用,我不知道为什么。 当您使用 put 时,请同时更改帖子以放入您的路由 router.put("/", async (req,res) 如果您的查询有问题,然后尝试我发布的答案希望它会工作 【参考方案1】:试试这个希望它会起作用
module.exports.insertUser = async (req, res, next) =>
await YourModelShouldhere.create(
whatever_your_key: req.body.your_input_data,
)
.then(result =>
return res.status(200).json(
message: "Created Successfully",
statusCode: 200,
data: result
);
)
.catch(err =>
return res.status(200).json(
message: "Created Successfully",
statusCode: 500,
error: err
);
);
【讨论】:
以上是关于无法将值传递到 MongoDB,使用 Node 和 Express,Mongoose的主要内容,如果未能解决你的问题,请参考以下文章