在mongodb中使用现有字段作为objectId来创建带有节点和表达的REST api?
Posted
技术标签:
【中文标题】在mongodb中使用现有字段作为objectId来创建带有节点和表达的REST api?【英文标题】:Using existing fields as objectId in mongodb to create REST api with node and express? 【发布时间】:2016-08-11 02:01:42 【问题描述】:我的 JSON 文件是:
[
'name': name,
'birthday': birthday,
'telephone': telephone,
'details': details,
....
]
我的应用程序将能够接受name
、birthday
和telephone
值,这三个值的组合对于每个实体都是唯一的。我希望根据这三个值检索一个实体,比如http://localhost:8000/name?=mary&birthday?=19880902&telephone?=2234324567 将返回 Mary 的 json 对象。
我正在查看有关使用 mongodb 和 nodejs 的示例,其中大多数建议使用 new BSON.ObjectID(id)
创建一个全新的 _id
字段并执行类似于 app.get('/users/:id', users.findById)
的操作来查找 id。是否可以不创建单独的 id 字段?
【问题讨论】:
【参考方案1】:尝试使用带有(req, res)
参数的回调。见here:
app.get('/', function(req, res)
var findCursor = Users.find(
"name": req.query.name,
"birthday": req.query.birthday,
"telephone": req.query.telephone
);
cursor.each(function(err, doc)
if (err) console.log("Oh no!");
if (doc != null)
// Do stuff
res.send('GET request to user page?');
);
【讨论】:
以上是关于在mongodb中使用现有字段作为objectId来创建带有节点和表达的REST api?的主要内容,如果未能解决你的问题,请参考以下文章
PDI Kettle - 如何在 MongoDB 输出中为查询匹配指定 ObjectId
根据插入 PATCH 请求链接的 ObjectID 在 VueJS 中编辑 MongoDB 的产品字段
Node.js 使用 MongoDB 的 ObjectId 作为查询条件