【发布时间】:2022-08-20 13:33:26
【问题描述】:
如何通过电子邮件从 MongoDB 获取数据?这是一个例子:
_id: Objectid(\'6274e58826914a298567e5f8\'),
\"name\": \"Vauxhall Mokka\",
\"supplier\": \"Vauxhall\",
\"email\": \"abc@def.com\",
\"price\": 30000,
\"quantity\": 30,
\"img\": \"https://i.ibb.co/SQqBNXy/getImage.png\",
\"sold\": 0
我可以使用以下代码通过 _id 轻松获取项目:
app.get(\'/cars/:id\', async (req, res) => {
const id = req.params.id;
const query = { _id: ObjectId(id) };
const result = await serviceCollection.findOne(query);
res.send(result);
});
但是为什么我不能对电子邮件做同样的事情呢?当我申请\'/cars/:email\' 时,服务器出现故障。如果我得到带有 id 的项目,那为什么不能通过电子邮件得到呢?
-
你如何将电子邮件写入URL?喜欢
/cars/user@example.com?尝试对 at 符号进行 URL 编码:/cars/user%40example.com。然而,将电子邮件写入 URL 路径是非常不寻常的。而是将其放在查询字符串 (/cars/filter?email=user%40example.com) 中并从req.query.email中读取。您应该正确转义特殊字符(at-sign 在 URL 中具有特殊含义),所以
标签: mongodb