我收集了有关车辆信号的信息。每天和每辆车,我都有很多文件。我想要的是每天每辆车只留下一份文件,主要是每天最后一份。有任何解决方案吗?
我的收藏的结构是这样的:
{
"_id": "5e067c1b6c7d95203754a5db",
"account": {
"account_id": 7001
},
"date": "2019-12-18",
"carrier": "CARRIERABC",
"num_plate": "JHGF78",
"vehicle_type": 3,
"provider": "PROVIDERXYZ",
"MIN_CONNECTION": "2019-12-18T00:00:04.000Z",
"MAX_CONNECTION": "2019-12-18T23:59:56.000Z",
"AVG": 96.248069842024
}
答案 0 :(得分:0)
(为简单起见,我删除了所有其他属性)
让我们假设您每个日期和num_plate只需要一个最新记录。
db.entries.update({
"date": "2019-12-18",
"num_plate": "JHGF78",
}, {
"date": "2019-12-18",
"num_plate": "JHGF78",
"VALUE" : 1
}, {
upsert: true
});
db.entries.update({
"date": "2019-12-18",
"num_plate": "JHGF78",
}, {
"date": "2019-12-18",
"num_plate": "JHGF78",
"VALUE": 2
}, {
upsert: true
});
db.entries.update({
"date": "2019-12-18",
"num_plate": "JHGF78",
}, {
"date": "2019-12-18",
"num_plate": "JHGF78",
"VALUE": 3
}, {
upsert: true
});
如果您运行上述查询,则只有该车辆的最后一条记录,因为您的匹配条件就在那里。