[英]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.