小程序云开发·多次订阅一次性订阅消息后定时发送

小程序一次性订阅消息,订阅1次可以发送1条消息,订阅10次可以发送10条消息

1. 前情提要,完成订阅到发送的过程

订阅部分参考 实战分享: 小程序云开发玩转订阅消息 就可以完成从小程序订阅、存入云开发数据库、利用定时触发器定期发送消息了。

完成上面的步骤,你应该已经在云端做到了:

  1. 定时任务
  2. 查询所有订阅消息
  3. 循环发送消息
  4. 发送后根据_id标记状态为已发送

但是上文的订阅消息,适用于只订阅一次的情况,查看github的源码,甚至为了避免重复,同一个用户不能订阅多次。

我们要做的逻辑是,同一个一次性订阅消息,用户可以订阅多次,订阅几次就发送几次。

2. 改造查询,支持每个用户只发送一条

保存处代码不用修改,用户多次订阅就会插入多条记录。查询代码需要做修改,目前的查询代码是这样的:

    const messages = await db
      .collection('messages')
      .where({
        done: false,
      })
      .get();

查询到了所有未发送的消息,此时一个用户订阅2次,都会查出来,并收到2条订阅消息。

我们使用 agg

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值