【发布时间】:2017-05-06 01:23:54
【问题描述】:
我目前是 js 和 mongoDB 的初学者,目前正在学习流星。 我在尝试在 mongo 中填充数据库时遇到问题。 我有一个 .txt 中的 db 文件(我已将格式更改为 JSON 试图解决这个问题),我想用它填充 mongo。(实际上,在项目中我的想法是更新/增加/merge db,每个月使用另一个 .txt 文件,这样每个月都会使用一个新的 .txt 文件填充 db。)
这个想法是使用数据库,输入生成图形,并在正确填充后执行其他几个计算。
我尝试了几个教程,但似乎没有一个有效。 所以我要么无法显示结果(HTML新手),要么我很愚蠢,可以在这里做一些超出限制的事情。
代码如下:
Mais.js(服务器):
import { Meteor } from 'meteor/meteor';
Meteor.startup(() => {
Collection = new Mongo.Collection('db');
// code to run on server at startup
});
Mais.js(客户端);
import './main.html';
Collection = new Mongo.Collection('db');
Template.Upload_1.onCreated(
function helloOnCreated(){}
);
Template.Upload_1.helpers({
db : function() { return Collection.find();},
});
Template.Upload_1.events({
'onclick Process': function(){
var reader = new FileReader();
var jsonParser = new JSONParser();
var jsonObject = jsonParser.parse(reader);
var test0 = jsonObject.get("test0"); //just choose the first .txt entry value for testing, but will add other ones
Collection.insert(test0);
}
});
main.html
<head><title>test5</title></head>
<body>
{{> Upload_1}}
<p></p>
<p></p>
</body>
<template name="Upload_1">
<div class = "container">
<header><h1>File_READ</h1>
<input type="file" id="fileinput" />
<input type="submit" id="Process" value="Process"/>
</header></div>
<body>
<h2>Results</h2>
{{#each db}}
<p> {{> Collection}}</p>
{{/each}}
</body>
</template>
.json 文件(或 .txt)示例:
[
{ test0: "01/02/03", test1: "10", test2: "11", test3: "101" },
{ test0: "02/02/03", test1: "20", test3: "12", test3: "102" },
{ test0: "03/02/03", test1: "30", test3: "13", test3: "103" },
]
我目前正在使用 METEOR@1.4.2.3 版本。
有没有更简单的方法来做到这一点?
如果有任何初学者教程来学习如何做到这一点,我也将不胜感激!
【问题讨论】:
-
参见this answer,它解释了如何使用 mongoimport 将数据从文件导入到 MongoDB 数据库中。
标签: meteor