【问题标题】:Finding specific job using agendajs使用议程找到特定的工作
【发布时间】:2019-02-04 11:28:41
【问题描述】:

首先,我是 NoSQL 数据库的新手,如果我使用了一些错误的术语,请原谅我。我正在使用议程模块将提醒存储在 Mongo 数据库中(必需)。由于所有提醒具有相同的作业名称(“发送提醒”),并且我没有将生成的 _id 存储在我自己的关系数据库中,因此我试图通过查找其中一个嵌套属性来在 MongoDB 中找到特定的在数据字段中,在这种情况下是我在存储之前生成的提醒 UUID。

这就是我试图获得一份特​​定工作的方式,但它没有返回任何东西。

    let thisJob = await agenda.jobs({data: {reminder_id: reminderId}});

这是在 MongoDB 中创建的作业的 attr 值

attrs: 
 { _id: 5b86be364f8be75149a3c68e,
   name: 'send reminder',
   data: [Object],
   type: 'normal',
   priority: 0,
   nextRunAt: 2018-08-29T17:15:00.000Z,
   lastModifiedBy: null } 

主要问题是如何通过在数据属性中存储的对象中搜索来找到工作?

(我可以想到其他方法来最终实现我所追求的目标,但我更喜欢更优化的方法)

【问题讨论】:

    标签: javascript node.js mongodb agenda


    【解决方案1】:

    应该这样做:

    let thisJob = await agenda.jobs({'data.reminder_id': reminderId});
    

    【讨论】:

    • 不知道为什么这被否决了,它对我有用(2020 年 10 月)。你会得到一个包含所有匹配作业的数组。如果你使用一个唯一的 id,它应该只是一个长度为 1 的数组。
    猜你喜欢
    • 2019-06-16
    • 2017-07-07
    • 1970-01-01
    • 2014-05-19
    • 2019-09-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多