Mongodb 在子文档数组中查找和更新
我是mongodb世界的新手,我已经花了很多时间试图解决以下问题 我的收藏名为“routes”,包含以下文档:Mongodb 在子文档数组中查找和更新,mongodb,mongoose,Mongodb,Mongoose,我是mongodb世界的新手,我已经花了很多时间试图解决以下问题 我的收藏名为“routes”,包含以下文档: { idGateway: 0, priority: 1, channels: [ { id: 'chanel_1', control: { timestamp: ISODate("2015-09-19T16:17:12.393Z"),
{
idGateway: 0,
priority: 1,
channels: [
{
id: 'chanel_1',
control: {
timestamp: ISODate("2015-09-19T16:17:12.393Z"),
qty: 3
}
},
{
id: 'chanel_2',
control: {
timestamp: ISODate("2015-09-18T16:17:12.393Z"),
qty: 5
}
}
]
},
{
idGateway: 1,
priority: 2,
channels: [
{
id: 'chanel_3',
control: {
timestamp: ISODate("2015-09-19T16:17:12.393Z"),
qty: 3
}
},
{
id: 'chanel_4',
control: {
timestamp: ISODate("2015-09-18T16:17:12.393Z"),
qty: 5
}
}
]
}
我的需要是选择一个文档,同时更新其时间戳/数量字段(作为FindModify)。选择的标准是:
- 获取具有最低优先级的文档
- 从文档中,选择具有最大值(时间戳)的频道文档
- 更新时间戳和数量
- 并仅返回频道的文档(频道1)
谢谢您所说的“选择具有最大时间戳的频道文档”是什么意思?您将时间戳和数量更新为什么?更详细地说,从最低的“优先级”中,我必须从通道阵列中选择较旧的通道。如果(当前时间+1min>时间戳)设置时间戳=当前时间,则数量必须增加1