| 308 | |
| 309 | @ArgMethod |
| 310 | static async inc(_id: number | number[], field: string, n: number = 1) { |
| 311 | const ids = (Array.isArray(_id) ? Array.from(new Set(_id)) : [_id]).filter((i) => i >= -999); |
| 312 | if (!ids.length) return null; |
| 313 | const udocs = await coll.find({ _id: { $in: ids } }).toArray(); |
| 314 | if (udocs.length !== ids.length) throw new UserNotFoundError(_id); |
| 315 | await coll.updateMany({ _id: { $in: ids } }, { $inc: { [field]: n } }); |
| 316 | for (const udoc of udocs) deleteUserCache(udoc); |
| 317 | return udocs; |
| 318 | } |
| 319 | |
| 320 | @ArgMethod |
| 321 | static async create( |