Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor将JSON导入到集合中_Javascript_Json_Mongodb_Meteor - Fatal编程技术网

Javascript Meteor将JSON导入到集合中

Javascript Meteor将JSON导入到集合中,javascript,json,mongodb,meteor,Javascript,Json,Mongodb,Meteor,我正在尝试将一个包含嵌入对象的JSON文件导入MongoDB,并想知道如何格式化以正确导入文档。若要清除,文档格式必须保持当前格式。我必须修改/创建一个函数或方法,以允许导入此文件,并在sport events array循环中关联_id(为简洁起见,我将其短接至一个sports event array)。也许一个更好的提问方式是如何导入sports event数组中的所有内容并保留文档的其余部分 JSON文档 { "sports-content": { "sport-event": [

我正在尝试将一个包含嵌入对象的JSON文件导入MongoDB,并想知道如何格式化以正确导入文档。若要清除,文档格式必须保持当前格式。我必须修改/创建一个函数或方法,以允许导入此文件,并在sport events array循环中关联_id(为简洁起见,我将其短接至一个sports event array)。也许一个更好的提问方式是如何导入sports event数组中的所有内容并保留文档的其余部分

JSON文档

{
"sports-content": {
    "sport-event": [{
        "event-metadata": {
            "league": "NCAA Basketball",
            "event-type": "0",
            "league-details": "NCAAB",
            "event-date-time": "12/18/2015 07:00 PM",
            "eventNum": "3000460",
            "status": "",
            "off-the-board": "False"
        },
        "team": [{
            "team-metadata": {
                "alignment": "Home",
                "nss": "526",
                "openNum": "526",
                "name": {
                    "full": "Clemson"
                }
            },
            "wagering-stats": {
                "wagering-straight-spread": {
                    "bookmaker-name": "BetOnline",
                    "active": "true",
                    "line": "1.5",
                    "money": "-110",
                    "context": "current"
                }
            },
            "team-stats": {
                "score": "0"
            }
        }, {
            "team-metadata": {
                "alignment": "Away",
                "openNum": "525",
                "nss": "525",
                "name": {
                    "full": "South Carolina"
                }
            },
            "wagering-stats": {
                "wagering-straight-spread": {
                    "bookmaker-name": "BetOnline",
                    "active": "true",
                    "line": "-1.5",
                    "money": "-110",
                    "context": "current"
                }
            },
            "team-stats": {
                "score": "0"
            }
        }]
    }],
    "sports-meta-data": {
        "doc-time": "42353.5979256944"
    }
  }
 }
Meteor.startup下的Meteor server.js

if (SportEventsFeed.find().count() === 0) {
    console.log("Importing private/products.json to db")

    var data = JSON.parse(Assets.getText("ncaab.json"));

    data.forEach(function (item, index, array) {
        SportEventsFeed.insert(item);
    })
}

以下是如何将“sports event”数组中的项目作为单个文档插入数据库中。
我不确定索引值是否是您想要的_id字段,如果不更改分配给项目_id的值(或注释掉这一行作为默认_id)


谢谢你的回答!我尝试了几种点符号排列,现在只是复制并粘贴了您的答案以防万一,我仍然在服务器端遇到错误:ReferenceError:内容未定义hh,请尝试此
数据['sports-content']['sports-event']
谢谢。尝试此操作时出现错误-数据['sports-content']['sports-event']。forEach(函数(项、索引、数组)-TypeError:无法调用未定义的……数据的方法'forEach'。[sports-content']['sports-event']-错误数组。forEach未定义的……数据。['sports-content'].'sports-event']。forEach-错误数组.forEach(本机)。因此,上一个版本出现错误:Array.forEach(本机)。我返回到您的原始版本,这次在没有索引的情况下再次尝试,结果成功了。谢谢!
if (SportEventsFeed.find().count() === 0) {
  console.log("Importing private/products.json to db")

  var data = JSON.parse(Assets.getText("ncaab.json"));

  data['sports-content']['sports-event'].forEach(function (item, index, array) {
    item._id = index;
    SportEventsFeed.insert(item);
  })
}