我需要将JSON文件导入数据库Mongoose。这应该是应该每天运行的脚本。
我的JSON如下:
[
{
"grant_title": "name SRL",
"id": "30579843531",
"total_amount": "551954"
},{
"grant_title": "AADI CAPIF ASOCIACION CIVIL",
"id": "30574449967",
"total_amount": "37050"
},{
"grant_title": "LA CAMPAÑOLA S.A",
"id": "23311183419",
"total_amount": "139292"
}
]
我需要将这些信息存储在数据库中。
这应该是一个脚本NodeJS(快递)。请说清楚,因为我是初学者。
答案 0 :(得分:5)
让我们逐渐采取这种做法。首先,您需要创建一个CRON作业,或者使用NodeJS调度程序(如agenda)以一定的时间间隔执行您的函数。
现在......在您的函数内部,您需要将JSON文件加载到NodeJS中。
var json = require('/path/to/file.json');
最后......使用insertMany在您的集合中进行批量插入。
db.collectionName.insertMany(json, function(err,result) {
if (err) {
// handle error
} else {
// handle success
}
});
编辑:以下是使用NodeJS中的议程每天上午11:30运行程序的示例
var Agenda = require('agenda');
startScheduler = function() {
// Set the scheduler utilizing Agenda
var agenda = new Agenda({db: {address: 'url/to/database'}});
agenda.define('RUN AT 1130 AM', function(job, done) {
// your function goes here...
done();
});
agenda.on('ready', function() {
// CRON SYNTAX
// * * * * * *
// Minute / Hour / Day / Month / Day of week (0-6) Sunday-Saturday
agenda.every('30 11 * * *', 'RUN AT 1130 AM'); // Run daily at 11:30 AM
agenda.start();
});
};
startScheduler();