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)