【发布时间】:2020-09-07 22:25:57
【问题描述】:
在本地运行,但是在线访问一个图集MongoDb DB,我有builder的数据如下:
[
{
"_id": "5ec63e97516541c07c2b26d3",
"name": "Bob"
},
{
"_id": "5ec64261b9be7b08cb8d7ba9",
"name": "builder post test"
}
]
真的很简单,但问题是当我定义我的 CRUD 操作时:我希望能够从上面的 id 中获取特定的构建器,比如 Bob。我的代码在我的 server.js 文件中如下:
server.get("/:id", (request, response) => {
const itemId = request.params.id;
dbCollection.findOne({id: itemId }, (error, result) => {
if (error) throw error;
response.json(result);
});
});
每当我测试端点时:http://localhost:4000/5ec63e97516541c07c2b26d3
我得到 null 返回。我已经登录控制台并确保 id 输入正确。我什至更改了 id --> _id 以匹配架构但仍然为空。
我把上面id的findOne初始参数改成name就可以访问端点http://localhost:4000/Bob了:
server.get("/:id", (request, response) => {
const itemId = request.params.id;
dbCollection.findOne({name: itemId }, (error, result) => {
if (error) throw error;
response.json(result);
});
});
我对为什么 name 有效但 id 无效感到困惑,我觉得我错过了一些基本的东西,感谢任何帮助或建议!
【问题讨论】:
-
你在用猫鼬吗?
-
不,我正在使用 mongodb
标签: javascript node.js mongodb nodemon mongodb-atlas