2015-12-02 109 views
2

我在傳遞objectId作爲URL參數時遇到了很多麻煩。我知道MongoDB中的ObjectId是一個十六進制值,我需要做一些轉換,但是我使用每種方法都會收到錯誤。在URL中傳遞Mongo ObjectId並使用Node/Express查詢該ID

目前,我得到的錯誤狀態,「傳入的參數必須是一個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 

感謝有這方面的幫助。

+2

請注意冒號。嘗試你的代碼而不通過它。 –

+0

哇,謝謝。現在我想到了這一點完全有意義。今晚我回到家時,我會試試這個。 – Victor

回答

1

請求應該是: 地址/文字/ 565dffa7463e4c60b1166f43

則req.params.id變得565dffa7463e4c60b1166f43。

相關問題