gpt4 book ai didi

node.js - Express-mongodb 中的 get 方法 "Argument passed in must be a single String of 12 bytes or a string of 24 hex characters"

转载 作者:太空宇宙 更新时间:2023-11-03 23:57:37 29 4
gpt4 key购买 nike

我目前正在使用 mongodb-nodejs-express 的 api 实现一个 get 方法,该方法使用其 id 查找数据库中的所有商店,问题是当我使用 get 方法时,我不断收到以下错误:

"error": "Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters"

这是我用来证明的链接

http://localhost:4005/trading/store/1124

这是我实现的方法

router.get('/store/:id', async (req, res) => {
const { id } = req.params;
const db = await connect();
try{
const result = await db.collection(collection).find({ store_id: ObjectID(id)});
res.json(result)
}
catch (error) {
res.status(500).json({ error: error.toString() });
}
})

这是我的数据库外观的示例

{
"_id": "5cef828a7443855d02fc320e",
"timestamp": "26/03/2019 18:34",
"store_id": "1124",
"user_id": "123",
"product_id": "949",
"price": "528"
},

我非常感谢任何提示或帮助,并提前感谢您花时间阅读我的问题。

最佳答案

您的 store_id 只是一个字符串。所以你的查询应该是这样的:

db.collection.find({ store_id: id});

关于node.js - Express-mongodb 中的 get 方法 "Argument passed in must be a single String of 12 bytes or a string of 24 hex characters",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56384676/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com