[图片]
$or 的使用根据条件过滤文,在开发者工具中使用 $or 无法查到数据,但是在开发者的云开发数据库中使用相同的操作代码可以查到数据 const query = { creator: OPENID, taskType: _.eq('1'), // 任务类型 taskRepeat: _.eq('1'), // 筛选不重复任务 delFlag: _.eq('0'), status: _.in(['0', '1']), //0 未开始 1 进行中 2 已完成 3 已取消 $or: [ // 条件1: 如果查询未开始一定要 startTime 和 endTime 在今天范围内 { status: _.eq('0'), startTime: _.gte(todayStartDateNow).and(_.lte(todayEndDateNow)), }, ], }; // 筛选优先级 if (taskPriority) { query.taskPriority = _.eq(taskPriority); } // 如果是查询重复任务,则不查询时间 if (taskRepeat) { query.taskRepeat = _.neq('1'); delete query.$or; // 移除时间条件,避免冲突 } // 查询定时任务 if (taskTiming) { delete query.$or; query.status = _.eq('0'); query.startTime = _.gte(todayEndDateNow); } // try { // 使用 aggregate 聚合查询2311 const res = await db .collection('task-list') .aggregate() .match(query) .addFields({ isFinish: { $cond: { if: { $eq: ['$finishTime', ''] }, // 判断 finishTime 是否为空 then: 0, // 没有 finishTime else: 1, // 有 finishTime }, }, }) .sort({ isFinish: 1, // isFinish 为 0 的在前面 startTime: 1, // isFinish 为 0 的项按 startTime 排序 finishTime: 1, // isFinish 为 1 的项按 finishTime 排序 }) .project({ isFinish: 0, // 排除辅助字段 }) .lookup({ from: 'task-sub-list', let: { task_list_id: '$_id' }, pipeline: $.pipeline() .match(_.expr($.and([$.eq(['$taskId', '$$task_list_id']), $.eq(['$delFlag', '0'])]))) .addFields({ isFinish: { $cond: { if: { $eq: ['$finishTime', ''] }, then: 0, else: 1, }, }, }) .sort({ isFinish: 1, // isFinish 为 0 的在前面 createTime: 1, // 没有 finishTime 的项按 createTime 排序 finishTime: 1, // 有 finishTime 的项按 finishTime 排序 }) .project({ isFinish: 0, // 排除辅助字段 }) .done(), as: 'taskSubList', }) .end();
08-30如何 @ 官方来给答复下呀
如何在小程序内部 引用 cdn的 js 文件已达到减少包体积?我想在 小程序内部使用 cdn 上的 js 文件,如何来操作呢?有大神给指导下呗
07-22你好,问题解决了吗
企业微信通过群发助手发送H5链接,缩略图不显示?H5链接中有个默认的img标签 [图片] 通过群发助手发送时后 [图片] [图片] 缩略图咋不显示那,是我图片的位置加的不对吗,还是。。。
2022-05-20