MongoDB: от BSON до JSON

Я использую собственный драйвер mongoDB для node.js. Я хотел бы получить некоторые данные из базы данных и отправить их в виде строки JSON через HTTP. Есть ли способ преобразовать BSON в JSON или напрямую получить данные как JSON из базы данных?

Спасибо!

 jdi03 мая 2012 г., 23:53
Вы спрашиваете, как преобразовать объект JSON в строку?
 David Ellis03 мая 2012 г., 23:24
Извините меня? Вы не можете работать с документами, пока драйвер не преобразует их в JSON.collection.find({}).toArray(function(err, docs) { console.log(docs); //Display array of JSON objects })
 Andrew T Finnell04 мая 2012 г., 00:00
Я думаю, что все говорят, что драйвер MongoDB возвращает JSON, а не BSON. BSON - это просто внутренний формат, используемый для хранения ваших документов. Там не должно быть никакого преобразования требуется.
 jdi03 мая 2012 г., 23:27
BSON - это родной формат mongodb. JSON - это то, что вы должны получать как собственный формат объекта.
 Louis Chatriot18 дек. 2012 г., 17:03
Собственный драйвер MongoDB не возвращает JSON, но объект JS (или массив, зависит от запроса). Это довольно различно, поскольку не все значения этого объекта могут быть сериализованы в JSON и десериализованы правильно (например, ObjectID, Date будет преобразован в String, и десериализатор не сможет узнать, как создать исходный объект)

Ответы на вопрос(1)

ия bson в json следующим образом:

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

Он преобразует все простые объекты, но будет иметь трудности с другими, например, datetime не будет работать. Для решения этой проблемы может работать следующее:Объект MongoDB, сериализованный как JSON

Ваш ответ на вопрос