【发布时间】:2017-01-26 18:20:26
【问题描述】:
我在传递一个 objectId 作为我的 URL 参数时遇到了很多麻烦。我知道 MongoDB 中的 ObjectId 是一个十六进制值,我需要进行一些转换,但是我使用的每种方法都会出错。
目前,我收到的错误是“传入的参数必须是 12 个字节的单个字符串或 24 个十六进制字符的字符串。”
var mongo = require('mongodb').MongoClient;
var ObjectID = require('mongodb').ObjectID;
app.get('/characters/:id', function (req, res) {
console.log(req.params.id);
var collection = db.collection('Character');
_id = new ObjectID(req.params.id);
});
我传递的请求是:
address/characters/:565dffa7463e4c60b1166f43
感谢您对此的任何帮助。
【问题讨论】:
-
注意冒号。尝试您的代码而不通过它。
-
哇,谢谢。现在我想起来了,这完全有道理。我今晚回家后试试这个。