1

首先,我对 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 } 

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

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

4

1 回答 1

3

这应该这样做:

let thisJob = await agenda.jobs({'data.reminder_id': reminderId});
于 2018-09-29T18:32:15.900 回答