使用mongoose@5.6.11
我的硬币对象有15万个数组
[{
username:string,
coin:{ date:number, id:string }
}]
然后为数组中的每个硬币使用此功能检查user.coins数组中是否存在硬币,然后如果不存在则按入硬币
export const coinsUpdateOrCreate = async( user ) => await User.findOneAndUpdate(
{
"username": user.username,
"coins": {
"$ne": { id: user.coin.id } }
},
{
"$addToSet": {
"coins": {
id: user.coin.id,
date: user.coin.date
}
}
},
{ "new": true }
);
用户:mongooseModel
username:String,
coins:[{ date: Number, id: String }]
带循环的15万个硬币阵列非常慢
如何通过一个查询(如updateMany或bulkWrite)插入现有支票来插入所有硬币:
1:用户,按用户名过滤(如果不存在则创建)
2:user.coins数组中的coin.id(如果不存在,则按入);
感谢任何想法