如何使Mongodb UpdateMany适用于嵌入式文档

时间:2017-09-03 19:38:20

标签: node.js mongodb mongoose

我正在尝试在mongooese / express / nodejs上执行User.updateMany。我有以下文档结构

用户模型

displayName: AA,
conversations:[
    {unique:'XX1' , status: Active, timeStamp: ISODate('')},
    {unique:'XX2' , status: Active, timeStamp: ISODate('')},
    {unique:'XX3' , status: Active, timeStamp: ISODate('')}
]

数据集如下所示

用户#1

displayName: BB, 
conversations:[
    {unique:'XX1' , status: Active, timeStamp: ISODate('')},
    {unique:'XX4' , status: Active, timeStamp: ISODate('')}
]

用户#2

displayName: CC, 
conversations:[
    {unique: 'XX4', status: Active, timeStamp: ISODate('')},
    {unique: 'XX5', status: Close, timeStamp: ISODate('')},
    {unique: 'XX6', status: Close, timeStamp: ISODate('')}
]

用户#3

unique --> XX1

我想要做的是,更新conversations.timeStamp以获得一个唯一的。即:当我进入时

User.updateMany({"conversations.unique": unique}, 
    {$set: {"conversations.timeStamp" : Date.now()}}, 
    {"upsert": true});

我想要用户1& 2使用当前timeStamp更新正确的唯一。

我尝试了以下代码,但没有获得更新的好运。它将是一个使用频繁的函数,执行性能对用户故事很重要。

{{1}}

您对如何使其工作有任何想法吗?

0 个答案:

没有答案