var obj = {};
obj.url = hostNames[i];
obj.statusCode = res.statusCode;
obj.headers = res.headers;
db.collection.save(JSON.stringify(obj, null, 2));
我目前尝试请求经由Node.js的HTTP响应,然后解析该输出入的MongoDB与JSON.stringify
(即变换东西进入JSON文档格式的方法)。出于某种原因,我得到MongoDB中一些奇怪的输出,它是这样的:插入JSON.Stringified数据转换成的MongoDB
> db.scrape.find()
{ "_id" : ObjectId("51472849650593014a3c20da"), "0" : "{", "1" : "\n", "2" : " ", "3" : " ", "4" : "\"", "5" : "u", "6" : "r", "7" : "l", "8" :
我觉得是做的是,它被解释每个字符作为一个新的变量。我在代码中做了什么错误?
我在这里有点困惑:你为什么要存储一个JSON字符串,而不是文档本身?正如Mongo希望你提供一个_document_一样,它对所提供的字符串做的只是一个更不明智的事情 - 将它解析为一个数组。你至少应该存储它,像...... db.collection.save({res:JSON.stringify(obj,null,2)});'。但坦率地说,您正在尝试在这里完成Mongo的工作:为什么不在输出时格式化这个对象? – raina77ow 2013-03-18 14:59:43
感谢您的回复。我想,让JSON.stringify()格式化导入会更方便。在我的情况下你会做什么?请记住,每个“网站”有三个对象'url','statusCode'和'headers'。 “url”是每个“网站”响应的主键。 – theGreenCabbage 2013-03-18 15:06:15