MongoDB: BSON a JSON

Estoy usando el controlador mongoDB nativo para node.js. Me gustaría obtener algunos datos de la base de datos y enviarlos como una cadena JSON a través de HTTP. ¿Hay alguna forma de convertir BSON a JSON o recuperar directamente los datos como JSON de la base de datos?

¡Gracias!

preguntado el 03 de mayo de 12 a las 22:05

¿Disculpe? No puede trabajar con los documentos hasta que el controlador los haya convertido a JSON. collection.find({}).toArray(function(err, docs) { console.log(docs); //Display array of JSON objects }) -

BSON es el formato nativo de mongodb. JSON es lo que debería recibir como formato de objeto nativo. -

¿Está preguntando cómo convertir un objeto JSON en una cadena? -

Creo que lo que todos dicen es que el controlador MongoDB devuelve JSON, no BSON. BSON es solo el formato interno utilizado para almacenar sus documentos. No debería haber ninguna conversión requerida. -

El controlador MongoDB nativo no devuelve JSON sino un objeto JS (o una matriz, depende de la consulta). Eso es bastante diferente ya que no todos los valores de este objeto pueden serializarse en JSON y deserializarse correctamente (por ejemplo, ObjectID, Date se convertirá en String sin que el deserializador sepa cómo construir el objeto original) -

1 Respuestas

En python, puede usar el codificador simplejson para convertir bson a json de la siguiente manera:

result = db.mycol.find({ ....})
json = simplejson.dumps(result)

Convertirá todos los objetos simples, pero tendrá dificultades con otros, por ejemplo, datetime no funcionará. Para tratar este problema, lo siguiente puede funcionar: Objeto MongoDB serializado como JSON

contestado el 23 de mayo de 17 a las 13:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.