将具有新 属性 的模型推送到 MongoDB

Push model with new property to MongoDB

我有一个简单的脚本,可以计算特定用户的文档数量并将其分配给 externalUser.totalIcons,然后将该模型保存到数据库中 (MongoDB)。

但是当我尝试 运行 它时,它不会保存模型并且不会向数据库添加新的 属性。

问题:我在哪里搞砸了一些事情,我可以在这里应用什么解决方法来查看脚本在数据库中更新它?

import { Icon, User } from '../../models'
import { runScript } from '../utils'

export async function run () {
  const userCriteria = { isExternal: true }
  const iconCriteria = { 'icons.source': 'external' }
  const externalUsers = await User.find(userCriteria)
  
for (const externalUser of externalUsers) {
    externalUser.totalIcons = await Icon.countDocuments({
      ...iconCriteria,
      'icons.userId': externalUser._id
    })
    console.log(externalUser._id + ' has: ' + externalUser.totalIcons)
    await externalUser.save()
  }
}

if (require.main === module) {
  runScript('totalIconsFieldUpdate', run)
}

已解决:所以主要问题是我将模型作为微服务,但我没有构建它以在 .js 文件

中激活新字段