将JSON.Stringified数据插入到MongoDB中
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响应,然后用JSON.stringify
(一种将事物转换成JSON文档格式的方法)将输出parsing成MongoDB。 出于某种原因,我在MongoDB中得到了一些奇怪的输出,就像这样:
> db.scrape.find() { "_id" : ObjectId("51472849650593014a3c20da"), "0" : "{", "1" : "\n", "2" : " ", "3" : " ", "4" : "\"", "5" : "u", "6" : "r", "7" : "l", "8" :
我认为它所做的是将每个字符解释为一个新的variables。 我在代码中做了什么错误?
为什么使obj变成string? API期望一个JavaScript对象。
做就是了:
db.collection.save(obj);
你检查了JSON.stringify(obj,null,2)的输出吗? 我想这会返回预期的结果。
这个错误有两种可能的原因:存储文件的方式是错误的,或者文件检索的方式是错误的
你有尝试存储它像db.collection.save({'content':JSON.stringify(obj,null,2)});?
我在Meteor项目中遇到了同样的问题。 “响应”是一个包含json格式数据的string。 “保存”方法没有工作。 我简单地创build了一个新的文档:
obj = JSON.parse(response); db.collection.insert(obj);