2016-09-10 146 views
0

在MongoDB中過濾集合的正確方法是什麼?我需要通過ID號過濾數組。無法過濾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

你必須用你的ID代替蘋果? – lustoykov

+0

嗯,但它仍然沒有過濾任何東西。我在其他一些帖子上看到了同樣的方法。出於某種原因,對象ID需要在那裏,否則它會回到未定義的狀態。 – user3183411

0

這是我需要做的。

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

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

+0

這是一個必需的值。 – user3183411