Javascript 如何在mongo中编写nodejs脚本输出?
我想制作nodejs脚本,它应该ping主机并在mongodb中编写结果。现在我正在使用agenda创建一个作业,并在正确的时间开始ping。如何将执行结果写入数据库? 我试图使用Mongoclient,但在我看来,这不是我所需要的Javascript 如何在mongo中编写nodejs脚本输出?,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我想制作nodejs脚本,它应该ping主机并在mongodb中编写结果。现在我正在使用agenda创建一个作业,并在正确的时间开始ping。如何将执行结果写入数据库? 我试图使用Mongoclient,但在我看来,这不是我所需要的 var ping = require('ping'); const mongo = require('mongodb'); const MongoClient = mongo.MongoClient; const url = 'mongodb://127.0.0.1
var ping = require('ping');
const mongo = require('mongodb');
const MongoClient = mongo.MongoClient;
const url = 'mongodb://127.0.0.1:27017/test';
const config = ['10.10.4.45']
const Agenda = require('agenda');
const dbURL = 'mongodb://127.0.0.1:27017/test';
const agenda = new Agenda({
db: {
address: dbURL,
collection: 'jobs',
options: {
useNewUrlParser: true,
useUnifiedTopology: true
}
}
});
let counter = 0;
agenda.define('Ping host 10.10.4.45', async job => {
counter++;
await console.log('Ping test #'+counter);
for(let host of config){
let res = await ping.promise.probe(host);
console.log(res.host, res.alive);
}
});
(async function() {
await agenda.start();
await agenda.every('5 seconds', 'Ping host 10.10.4.45');
})();
例如,将下面的代码保存在存储库中的文件夹
种子脚本
中的文件中,然后使用下面的命令运行它:
node seeding_scripts\ping_results.js
ping_results.js
文件
const MongoClient=require('mongodb')。MongoClient;
常量DB_URI=”mongodb://localhost:27017/db_name";
常量选项={
useNewUrlParser:true
};
连接(DB_URI、选项、函数(err、客户端){
如果(错误){
log(“错误:无法连接到数据库。”);
控制台日志(err);
返回;
}
让dbName=DB_URI.split(“/”,-1).pop();
让collectionName=“ping_结果”;
设db=client.db(dbName);
log(`已成功连接到${dbName}数据库。`);
风险值数据=[
{姓名:“约翰”,地址:“71号公路”}
];
分贝
.集合(集合名称)
.insertMany(数据)
。然后(res=>{
log(`${res.insertedCount}文档已成功插入。`);
log(“数据库连接已关闭”);
client.close();
})
.catch(错误=>{
log(JSON.stringify(err));
log(“数据库连接已关闭”);
client.close();
});
});
node seeding_scripts\ping_results.js