2012-05-03 5 views
6

Używam natywnego sterownika mongoDB dla node.js. Chciałbym uzyskać niektóre dane z bazy danych i wysłać je jako ciąg JSON za pośrednictwem protokołu HTTP. Czy istnieje sposób konwertowania BSON na JSON lub bezpośredniego pobierania danych jako JSON z bazy danych?MongoDB: BSON do JSON

Dzięki!

+1

Przepraszam? Nie można pracować z dokumentami, dopóki sterownik nie przekonwertuje go do JSON. '' collection.find ({}). toArray (funkcja (err, docs) {console.log (docs); // Wyświetla tablicę obiektów JSON}) '' –

+1

BSON jest rodzimym formatem mongodb. JSON jest tym, co powinieneś odbierać jako format obiektu macierzystego. – jdi

+0

Czy pytasz, jak przekonwertować obiekt JSON na ciąg znaków? – jdi

Odpowiedz

2

W python można użyć enkodera simplejson przekonwertować bson do json następująco:

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

będzie konwertować wszystkie obiekty proste, ale mają trudności z innymi, na przykład datetime nie będzie działać. Aby poradzić sobie z tym problemem, może zadziałać: MongoDB Object Serialized as JSON