繁体   English   中英

猫鼬推送-查找或更新对象数组

[英]Mongoose push - find or update to array of objects

我的情况如下:

我有一个session集合,每个会话都是一个聊天室。

当用户发送新邮件时,应该通知其他用户,但是为了防止垃圾邮件,我需要检查用户是否在最近10分钟内收到了通知邮件。

所以我的会话集合具有对象的notification数组,其中包括: sessionIduserIddate

每当有人发送新消息时,我都必须发送邮件并推送到notifications列,但是它应该覆盖userId以防止通知列增长。

这是我尝试过的:

sessionSchema .findByIdAndUpdate(sessionId, { $push: { notifications: { userId: userId, date: moment().utc().toDate() } } }, callback)

但是,随着推动,色谱柱不断增长。 如何使用push覆盖某个用户ID的已创建通知?

也许,尝试向数据库添加查询中的选项。

sessionSchema
          .findByIdAndUpdate(sessionId, {
            $push: {
              notifications: {
                userId: userId,
                date: moment().utc().toDate()
              }
            }
          }, { new: true }, callback)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM