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