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.js 读取文件时遇到问题。我试过这个:
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
}]
我使用以下命令从 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.js 读取文件时遇到问题。我试过这个:
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
}]