【问题标题】:Push model with new property to MongoDB将具有新属性的模型推送到 MongoDB
【发布时间】:2021-11-16 22:56:03
【问题描述】:

我有一个简单的脚本,它计算特定用户的文档数量并将其分配给 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)
}

【问题讨论】:

    标签: typescript mongodb mongoose nestjs


    【解决方案1】:

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

    【讨论】:

    • 能否将您更改的代码添加到答案中,以便将来遇到相同问题的其他人能够理解您所做的更改
    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多