将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);
- Node.js作为转发代理,但更改URLpath?
- 在Socket.io中与HTTP通信TCP获取TypeError:无法读取未定义的属性“emit”
- 如何从Node.js发出networking请求时指定networking接口?
- 使用nodeJS的自定义path代理WebSockets和HTTP到单独的NodeJS应用程序?
- 在Socket.socketOnDataparsing错误
- AngularJS:http链调用和NodeJS的问题:在多个http调用中使用variables的问题
- 如何捕获节点js / Java中的networking调用?
- Node.js:http.Server,http.Agent,套接字和http.request之间的关系
- Node.jspipe道http请求&承诺