2015-07-03 76 views
1

我正在寻找使用MongoDB Node driver以id查找的最佳方法。如何通过使用MongoDB Node驱动程序的id找到?

我看到_id字段是ObjectId,所以使用字符串作为id将不起作用。我看到你could use ObjectId如下:

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

exports.show = function(req, res) { 
    var db = req.app.get('db'); 
    var id = new ObjectId(req.params.id); 
    db.collection('posts').findOne({ 
    _id: id 
    }, function(err, post) { 
    res.status(200).json(post); 
    }); 
}; 

但有一个最好的做法/更便捷的途径?我没有遇到过查看文档的人。注意:Mongoose有一个findById方法,您可以使用id字符串。

回答

1

_id字段已被编入索引,并且findByID隐式搜索一个文档,因此,您将在其中按照您已经执行的操作选项。

+0

所以你说我这样做的方式是最好的做法? –

+0

是的,findByID将是另一个函数(即冗余),并且在Javascript中函数的开销很大。 – aug2uag

相关问题