首页 > 解决方案 > 将具有新属性的模型推送到 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)
}

标签: typescriptmongodbmongoosenestjs

解决方案


已解决:所以主要问题是我将模型作为微服务,我没有构建它来在.js文件中激活一个新字段


推荐阅读