Javascript 使用agendajs查找特定作业
首先,我对NoSQL数据库非常陌生,所以请原谅我使用了一些错误的术语。我正在使用agendajs模块在Mongo数据库中存储提醒(必需)。由于所有提醒都具有相同的作业名称(“发送提醒”),并且我没有将生成的_id存储在我自己的关系数据库中,因此我试图通过在数据字段中查找其中一个嵌套属性来查找MongoDB中的一个特定属性,在本例中,是在存储之前生成的提醒的UUID 这就是我试图得到一份特定工作的方式,但它不会带来任何回报Javascript 使用agendajs查找特定作业,javascript,node.js,mongodb,agenda,Javascript,Node.js,Mongodb,Agenda,首先,我对NoSQL数据库非常陌生,所以请原谅我使用了一些错误的术语。我正在使用agendajs模块在Mongo数据库中存储提醒(必需)。由于所有提醒都具有相同的作业名称(“发送提醒”),并且我没有将生成的_id存储在我自己的关系数据库中,因此我试图通过在数据字段中查找其中一个嵌套属性来查找MongoDB中的一个特定属性,在本例中,是在存储之前生成的提醒的UUID 这就是我试图得到一份特定工作的方式,但它不会带来任何回报 let thisJob = await agenda.jobs({
let thisJob = await agenda.jobs({data: {reminder_id: reminderId}});
这是在MongoDB中创建的作业属性值
attrs:
{ _id: 5b86be364f8be75149a3c68e,
name: 'send reminder',
data: [Object],
type: 'normal',
priority: 0,
nextRunAt: 2018-08-29T17:15:00.000Z,
lastModifiedBy: null }
主要问题是如何通过搜索存储在data属性中的对象来找到作业
(我可以想出其他方法来最终实现我追求的目标,但我更喜欢更优化的方法)这应该可以做到:
let thisJob = await agenda.jobs({'data.reminder_id': reminderId});
这应该做到:
let thisJob = await agenda.jobs({'data.reminder_id': reminderId});
这应该做到:
let thisJob = await agenda.jobs({'data.reminder_id': reminderId});
不知道为什么这被否决了,这对我来说很有效(2020年10月)。您将获得一个包含所有匹配作业的数组。如果你使用一个唯一的id,它应该是一个长度为1的数组。不知道为什么会被否决,它适合我(2020年10月)。您将获得一个包含所有匹配作业的数组。如果你使用一个唯一的id,它应该是一个长度为1的数组。不知道为什么会被否决,它适合我(2020年10月)。您将获得一个包含所有匹配作业的数组。如果使用唯一id,它应该是长度为1的数组。