繁体   English   中英

node.js无法从mongoexport读取json

[英]node.js cannot read json from mongoexport

我已经使用以下命令从mongo中导出了一个集合:

mongoexport -d <database-name> -c <collection-name> -o foo.json

导出工作正常,并生成了foo.json

{
  "_id" : { "$oid" : "76safuysadf76tsaydgf" },
  "name" : "John",
  "number" : 3
}
{
  "_id" : { "$oid" : "dfsafuysaasdf7tsayd6" },
  "name" : "Fred",
  "number" : 4
}
{
  "_id" : { "$oid" : "876sfuyg7rfasff4ffff" },
  "name" : "Paul",
  "number" : 1
}

现在,我想使用node.js读取此json文件,编辑数据并保存回该文件(或新文件)。 例如,我想从每个用户中删除number字段。

我在使用node读取文件时遇到问题。 我尝试了这个:

var fs = require("fs");
var obj = JSON.parse(fs.readFileSync("./foo.json"));
console.log(obj);

但是我收到以下错误:

uncaughtException: Unexpected token {
SyntaxError: Unexpected token {

编辑:mongoexport文档: http : //docs.mongodb.org/manual/reference/program/mongoexport/

如我在原始答案中所述,使用--jsonArray选项可获取JSON数组中的输出。

原始答案

似乎您正在尝试解析JSON数组,而不是一个对象。 尝试将[]和逗号添加到mongoexport的输出中,如下所示:

[{
   "_id" : { "$oid" : "76safuysadf76tsaydgf" },
   "name" : "John",
   "number" : 3
},
{
   "_id" : { "$oid" : "dfsafuysaasdf7tsayd6" },
   "name" : "Fred",
   "number" : 4
},
{
   "_id" : { "$oid" : "876sfuyg7rfasff4ffff" },
   "name" : "Paul",
   "number" : 1
}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM