[英]How do you do a contains query using the MongoDB node.js driver?
[英]How do you find by id using the MongoDB Node driver?
我正在尋找使用MongoDB Node驅動程序按ID查找的最佳方法。
我看到_id
字段是一個ObjectId
,因此使用字符串作為id無效。 而且我看到您可以如下使用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);
});
};
但是,是否有最佳實踐/更方便的方法? 我在瀏覽文檔時沒有碰到過。 注意:貓鼬有一個findById方法,您可以在其中使用id字符串。
_id字段已經建立索引,並且findByID隱式搜索一個文檔,因此,在findOne
中您將像現在那樣在其中傳遞選項{_id: id}
。
據我了解,主要的設計考慮因素是使本機驅動程序API與mongo shell體驗相似,並在各處保持一致(其他驅動程序也一樣)。 為此,您可能希望使API保持簡單,但功能強大以涵蓋所有情況。 因此,概括地說,您具有find()
方法和“作為返回單個文檔的find()的特例的db.collection.findOne()方法”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.