从json文件中读取数据并插入mongodb(meteorjs)

时间:2017-07-21 11:17:19

标签: javascript json meteor

我有一个包含json格式数据的文件。

{
"channelName" : "practice",
"startDate" : ISODate("2017-07-22T06:29:35.681Z"),
"endDate" : ISODate("2017-08-22T06:29:35.681Z")
}

以上是文件格式。文件名是test.json。我想在我的服务器端读取它并插入db。我尝试使用Assets.getText但无法以json格式读取文件。以下是我写的代码

Assets.getText('channelTestData.json', function(err, res){
// var test = JSON.parse(res);
// console.log('tets : ' + test);
Channel.insert(res);
// Channel.save(res);
});

如果我使用JSON.parse或EJSON.parse,则会引发错误。

1 个答案:

答案 0 :(得分:1)

您的日期是无效的JSON。您可能会收到此错误:

Exception in callback of getAsset SyntaxError: Unexpected token I

您可以在此处找到有效的JSON数据类型(wikipedia)。您的JSON文件应如下所示:

{
  "channelName" : "practice",
  "startDate" : "2017-07-21T11:59:26.040Z",
  "endDate" : "2017-07-21T11:59:26.040Z"
}

如果要创建新的Data对象,可以使用下面的代码来获取不会抛出错误的有效JSON。

new Date().toJSON()

另外值得一提的是,您希望使用#getText()获取的文件应位于app文件夹的private目录中。有关此主题的更多信息,请参阅Meteor docs