簡體   English   中英

如何在MongoDB中為用戶存儲大量消息?

[英]How to store large amount of messages for users in MongoDB?

我需要運行cron腳本來為每個用戶更新/插入(插入)線程(電子郵件)。 我有一些結構如下的集合:

{ 
    "id" : ObjectId("57d7fc5fd34228c47059"), 
    "id" : "userid", 
    "primaryEmail" : "user@mail.com", 
    "threads_list" : [

    ]
},
{ 
    "_id" : ObjectId("57d7346a73d128c47059"), 
    "id" : "uderid", 
    "primaryEmail" : "user2@mail.com", 
    "threads_list" : [

    ]
}
...

我想將線程存儲到threads_list 但是我也想更新它們(如果它們已經存在),或者如果它們自上次upsert之后沒有變化就跳過它,就像我將為每個用戶創建集合並使用具有{upsert:true}參數的updateOne方法更新存儲在其中的電子郵件一樣。

我不介意在必要時將threads_list屬性更改為對象類型。

如何正確完成?

試試這個代碼

db.collection('users').update(
          { _id:user.id, 
            $set: {'primaryEmail': newEmail} 
          },
          { $addToSet: { 'threads_list': { $each: resp.labels } } }
        );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM