Javascript 如何在mongo中编写nodejs脚本输出?

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

我想制作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: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