typescript - 将具有新属性的模型推送到 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
文件中激活一个新字段
推荐阅读
- sweetalert2 - 在 SweetAlert2 上选择“取消”时,如何防止关闭模式?
- tableau-api - Tableau 目标与。实际 - 无法正确显示总计
- javascript - React array.map 返回预期的赋值或函数调用,而是看到一个表达式
- python - IndexError:索引超出范围(熊猫)
- ios - 日历小时组件提前 5 小时,无法调整
- python - 列表索引必须是整数或切片,而不是 datetime.datetime
- java - util.PSQLException:错误:列不存在(LEFT JOIN 和@Formula 的问题)
- c# - 如何授予使用c#创建目录的权限
- android - 有没有办法同步运行 Okhttps 请求?
- salesforce - 如何将 BAccount 设置为更新,以便销售人员集成能够发现有更新