2015-07-03 150 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

相關問題