当我尝试从mongodb获取服务器中的一个文档时,出现了"参数必须是12字节的字符串或24个十六进制字符的字符串或整数"的错误。我该如何修复这个错误?Thanks advaced.
下面是我的代码
async function run() {
try {
await client.connect();
const fruitsCollection = client.db("fruits").collection("fruitsCollection");
// multiple get api
app.get('/fruits', async (req, res) => {
const query = {};
const cursor = fruitsCollection.find(query);
const fruits = await cursor.toArray();
res.send(fruits)
});
// ******* my problem is here ****
// single get api
app.get('/fruits/:id', async (req, res) => {
const id = req.params.id;
const query = { _id: ObjectId(id) };
const fruit = await cursor.toArray(query);
res.send(fruit);
});
}
finally {
}
}
run().catch(console.dir);
app.get('/', (req, res) => {
res.send('Hello World!')
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
});
1条答案
按热度按时间qfe3c7zg1#
尝试使用catch语句:
它不会修复错误,因为错误是由你给它的objectID太短引起的。但是,它是很好的错误处理,并会阻止程序崩溃。