var obj = {};
obj.url = hostNames[i];
obj.statusCode = res.statusCode;
obj.headers = res.headers;
db.collection.save(JSON.stringify(obj, null, 2));
I am currently attempting to request a HTTP response via Node.js, and then parsing that output into a MongoDB with JSON.stringify
(a method that transforms things into JSON document format). For some reason, I am getting some weird output in MongoDB, it goes something like this:
> db.scrape.find()
{ "_id" : ObjectId("51472849650593014a3c20da"), "0" : "{", "1" : "\n", "2" : " ", "3" : " ", "4" : "\"", "5" : "u", "6" : "r", "7" : "l", "8" :
What I think it is doing is that it is interpreting each char as a new variable. What did I do wrong in my code?
why stringify the obj? the API expects a javascript object.
Just do:
db.collection.save(obj);
Have you checked the output of JSON.stringify(obj, null, 2)? I guess this would return the expected result.
There are two possible reasons for this error: The way of storing the document is wrong or the way the document is retrieved is wrong
At http://docs.mongodb.org/manual/tutorial/getting-started/ (mongodb getting-started) there is no mention of converting the documents to json before calling insert or whatever.
Have you tried storing it like db.collection.save({'content': JSON.stringify(obj, null, 2)});?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With