2016-09-10 3 views
0

Каков правильный способ фильтрации коллекции в MongoDB? Мне нужно отфильтровать массив по идентификационному номеру.Не удалось фильтровать коллекцию MongoDB

var collection = db.collection('blog'); 
 

 
try { 
 

 
    collection.find().toArray(function(err, result) { 
 

 
    if (err) { 
 
     console.log('Error:', err); 
 
    } else { 
 

 
     res.render('blogEntry', { 
 
     title: 'Blog Entry', 
 
     session: req.session, 
 
     blog: result 
 
     }); 
 

 
     db.close(); 
 
    } 
 

 
    }); 
 

 
} catch (Exception) { 
 
    console.log('there was a problem when accessing collection'); 
 
}

ответ

1
collection.find({ _id: "apple" }).toArray... 

Метод принимает два параметра:

collection.find(query, projection) 

Если оставить их пустыми, вы запрашиваете все.

Вот documentation

+0

Это не работает для меня. Ничего не возвращается. – user3183411

+0

Вы должны заменить яблоко своим идентификатором? – lustoykov

+0

Ну да, но он все еще ничего не отфильтровывал. Я видел тот же метод на некоторых других постах. По какой-то причине идентификатор объекта должен быть там, иначе он возвращался как неопределенный. – user3183411

0

Это то, что мне нужно делать.

var ObjectID = require('mongodb').ObjectID; 
 

 
collection.find({ 
 
    _id: ObjectID(blogId) 
 
}).toArray(function(err, result) { 
 
    callback(result); 
 
    db.close(); 
 
});

+0

Вещь - это необходимое значение. – user3183411

Смежные вопросы