NodeJS + MongoDB: Получение данных из коллекции с помощью findOne()

У меня есть коллекция "companies" с несколькими объектами. Каждый объект имеет параметр "_id". Я пытаюсь получить этот параметр из db:

app.get('/companies/:id',function(req,res){
db.collection("companies",function(err,collection){
    console.log(req.params.id);
    collection.findOne({_id: req.params.id},function(err, doc) {
        if (doc){
            console.log(doc._id);
        } else {
            console.log('no data for this company');
        }
    });
});
});

Итак, я request companys/4fcfd7f246e1464d05000001 (4fcfd7f246e1464d05000001 - это _id-parma нужного мне объекта) и findOne ничего не возвращает, поэтому console.log('no data for this company'); выполняется.

Я абсолютно уверен, что у меня есть объект с _id="4fcfd7f246e1464d05000001". Что я делаю не так? Спасибо!

Однако я только что заметил, что id не является типичным строковым полем. Вот что показывает mViewer:

"_id": {
        "$oid": "4fcfd7f246e1464d05000001"
    },

Кажется странным бит...

16
задан f1nn 7 June 2012 в 09:56
поделиться