1
我的应用程序每天都会截取不同尺寸的网页截图。页面和屏幕大小在作业中设置。每个作业指定要捕获的页面数组,以及捕获每个页面的屏幕大小列表。选择MongoDB的第一项匹配条件
每当应用启动时,虽然它会自动为每个活动作业重新获取所有屏幕截图,以防万一它还没有使用当天的屏幕截图。这意味着您可以在同一天为相同的工作,页面和屏幕大小显示两次或更多的屏幕截图。
查看屏幕截图时,尽管我只想每天返回最多一张相同的job
,page
和screensize
属性。要做到这一点,我想建立一个查询,将贯穿每一天,并检查是否有一天以上的一枪。如果是这样,只返回最早的属性dateTaken
属性。
我不确定我是否应该使用$group
。我尝试了几个与$group
不同的查询,但它会将所有照片合并到一个结果中,或者无论何时拍摄都会返回所有屏幕截图。
下面是截图模式:
const ScreenshotSchema = new Schema({
job: {
type: Schema.Types.ObjectId,
ref: 'Job',
required: true
},
dateTaken: {
type: Date,
required: true
},
page: {
type: Schema.Types.ObjectId,
ref: 'Page',
required: true
},
screensize: {
type: Schema.Types.ObjectId,
ref: 'Screensize',
required: true
}
});
总之,我需要的是:每工作,页,屏幕尺寸和日
我只是去尝试,它本身导致的屏幕大小,网页和工作的独特价值,但只有它为每个独特组合返回一个结果,而我需要每天*一个*每个独特组合。 – Aron
嗨阿隆,我已经添加了分组键,进一步白天进行分组。 –
是的,这似乎工作!现在有什么方法可以清理东西,以便我可以获取屏幕截图文档的列表(就像你从'.find({})'?获得的)。我宁愿不需要添加后处理来摆脱包装'shot'对象的文档 – Aron