如果我有一个mongo文档ID作为字符串,如何查询它作为_id?
它会正常工作吗?.find({_id:'stringID'})还是需要先将其转换为bson对象?
.find({_id:'stringID'})
您的意思是您拥有ObjectId的24个十六进制数字字符串吗?
假设这就是您的意思,大多数驱动程序都有一种方法来获取字符串并将其转换为ObjectId。在JavaScript中:
.find({_id:new ObjectId("4f91bfcfaa7c5687a0c686d4")})
更新 为对节点本地驱动程序更有用(来自https://github.com/christkv/node-mongodb- native文档):
// Get the objectID type var ObjectID = require('mongodb').ObjectID; var idString = '4e4e1638c85e808431000003'; collection.findOne({_id: new ObjectID(idString)}, console.log) // ok collection.findOne({_id: idString}, console.log) // wrong! callback gets undefined