2

Express 3.0を使用していて、いくつかのクエリを解決しようとしているときに、これらのIDに一致する他のコンポーネントがデータベースにあるかどうかをテストしたいと思います。とにかく、これは私が機能しないコードです:

function(req, res) {
 var Parking = mongoose.model('Parking');
 var parkingId = req.params.id;
 var userId = req.user['_id'];
 Parking
    .findOne({'_id': parkingId}, function(err, parking) {
        var parkingUserId = parking.userId;
        if (userId == parkingUserId) {
                       ...
                    } else {
                       ...
                    }

req.params.idはurl内にあり、req.user['_id']はミドルウェアからのものです。

私は両方のフィールドで同じIDでこのURLを呼び出していますが、...それはfalseになり続けます...

なぜ私は間違っているのですか?ありがとう!

4

1 に答える 1

3

ParkingUserIdをbsonObjectIdオブジェクトから文字列に変換する必要があります。

if (userId.toString() == parkingUserId.toString())
于 2012-12-19T20:09:41.313 に答える