[英]Mongoose push - find or update to array of objects
我的情况如下:
我有一个session
集合,每个会话都是一个聊天室。
当用户发送新邮件时,应该通知其他用户,但是为了防止垃圾邮件,我需要检查用户是否在最近10分钟内收到了通知邮件。
所以我的会话集合具有对象的notification
数组,其中包括: sessionId
, userId
和date
每当有人发送新消息时,我都必须发送邮件并推送到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.