sql >> Base de Datos >  >> NoSQL >> MongoDB

Si tengo una identificación de documento mongo como una cadena, ¿cómo la consulto como una _id?

¿Quiere decir que tiene la cadena de 24 dígitos hexadecimales de un ObjectId?

Suponiendo que eso es lo que quiere decir, la mayoría de los controladores tienen una forma de tomar una cadena y convertirla en un ObjectId. En JavaScript eso es:

.find({_id:new ObjectId("4f91bfcfaa7c5687a0c686d4")})

Actualizado para ser un poco más útil para el controlador nativo del nodo (de la documentación en 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