簡體   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