Я пытаюсь получить данные из MongoDB с помощью Node. Вот мой код:
var MongoClient = require('mongodb').MongoClient;
var ObjectId = require('mongodb').ObjectId;
var url = 'mongodb://localhost:27017/test';
module.exports.get = function (req, res) {
//console.log(req.params.id)
//prints 1
var query = {};
query['id'] = req.params.id;
MongoClient.connect(url, function (err, db) {
db.collection('events')
.find(query)
.limit(1)
.next( function (err, event) {
if (err) {
res.status(500).send('Could not bring the resource requested!');
}
if (event) {
res.setHeader('Content-Type', 'application/json');
res.send(event);
}
else {
res.status(404).send('Can\'t find the resource you\'re looking for');
}
// db.close();
});
})
}
В моей базе данных есть документ с собственным полем id, отличным от _id.
Проблема с этой строкой кода: query['id'] = req.params.id;
Используя это, я получаю event = null
.
Но когда я изменяю это на: query['id'] = 1;
, я получаю данные, которые ищу. Я не знаю, где проблема.