Строка подключения из Mongodb Atlas не проходит при использовании повестки дня - PullRequest
0 голосов
/ 21 апреля 2019

Я новичок в Agenda, и я пытаюсь использовать его в моем проекте стороны, над которым я работаю.Я пытаюсь понять, как работает планирование работ, используя пакет и различные его функции.Я подключаю к своей базе данных Mongo сообщение о новой job с именем hello.Когда я запускаю свой файл, используя node agenda_dummy.js, я получаю ошибку TypeError: url.match is not a function.Я искал ошибку, но не повезло.Любые идеи о том, как решить эту проблему?Разместим код и мою OUTBOX схему.

link to tutorial I am following https://thecodebarbarian.com/node.js-task-scheduling-with-agenda-and-mongodb

ERROR THAT I AM GETTING

   return url.match(/mongodb(?:\+srv)?:\/\/.*/) !== null;
    TypeError: url.match is not a function`

agenda_dummy.js

var Agenda = require('agenda');
var OUTBOX = require('../helpers/outbox_Schema')
var mongoose = require('mongoose')


var connection = mongoose.connect("mongodb+srv://moe:" + process.env.MONGO_ATLAS_PW + "@sera-outlook-edxbb.mongodb.net/test?retryWrites=true", {
    useNewUrlParser: true
});
  let agenda = new Agenda({
        db: {
            address: connection,
            collection: OUTBOX
        }
    });

async function run() {
      await agenda.start();

    // Define a "job", an arbitrary function that agenda can execute
    agenda.define('hello', () => {
        console.log('Hello, World!');
        process.exit(0);
    });

    // Wait for agenda to connect. Should never fail since connection failures
    // should happen in the `await MongoClient.connect()` call.
    await new Promise(resolve => agenda.once('ready', resolve));

    // Schedule a job for 1 second from now and persist it to mongodb.
    // Jobs are uniquely defined by their name, in this case "hello"
    agenda.schedule(new Date(Date.now() + 1000), 'hello');
    agenda.start();
}

run().catch(error => {
    console.error("The error is ", error);
    // process.exit(-1);
});

outbox_schema.js

var mongoose = require('mongoose')

var my_outbox = mongoose.Schema({
    isRead: Boolean,
    subject: String,
    from: String,
    name: String,
    receivedDateTime: Date,
    sentDateTime: Date,
    type: String,
    conversationId: String
});




module.exports = mongoose.model("OUTBOX", my_outbox);
...