我正在尝试在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}}
您对如何使其工作有任何想法吗?