Javascript Mongoose推送-查找或更新对象数组

Javascript Mongoose推送-查找或更新对象数组,javascript,mongoose,Javascript,Mongoose,我的情况如下: 我有一个会话集合,每个会话都是一个聊天室 当用户发送新消息时,应该通知其他用户,但为了防止垃圾邮件,我需要检查用户是否在过去10分钟内收到通知邮件 因此,我的会话集合有一个通知对象数组,其中包含:sessionId、userId和date 每次有人发送新消息时,我都必须发送邮件并推送到通知列,但它应该覆盖用户ID,以防止通知列增长 这就是我尝试过的: 会话模式 .findByIdAndUpdate(会话ID{ $push:{ 通知:{ userId:userId, 日期:矩()

我的情况如下:

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

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

因此,我的会话集合有一个
通知
对象数组,其中包含:
sessionId
userId
date

每次有人发送新消息时,我都必须发送邮件并推送到
通知
列,但它应该覆盖
用户ID
,以防止通知列增长

这就是我尝试过的:


会话模式
.findByIdAndUpdate(会话ID{
$push:{
通知:{
userId:userId,
日期:矩().utc().toDate()
}
}
},回调)


然而,随着push的推进,该列不断增长。如何使用push来覆盖某个用户ID已经创建的通知?

也许,可以尝试在query to DB中添加选项

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