无法过滤MongoDB集合

时间:2016-09-10 19:58:11

标签: node.js mongodb express

在MongoDB中过滤集合的正确方法是什么?我需要通过ID号过滤数组。

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');
}

2 个答案:

答案 0 :(得分:1)

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

该方法有两个参数:

collection.find(query, projection) 

如果你把它们留空,你就可以获取所有东西。

以下是documentation

答案 1 :(得分:0)

这就是我需要做的。

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

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