MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Se eu tiver um ID de documento mongo como uma string, como faço para consultá-lo como um _id?


Você quer dizer que você tem a string de 24 dígitos hexadecimais de um ObjectId?

Assumindo que é isso que você quer dizer, a maioria dos drivers tem uma maneira de pegar uma string e convertê-la em um ObjectId. Em JavaScript é:
.find({_id:new ObjectId("4f91bfcfaa7c5687a0c686d4")})

Atualizado para ser um pouco mais útil para o driver nativo do nó (da documentação em 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