将具有新 属性 的模型推送到 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
文件
中激活新字段
我有一个简单的脚本,可以计算特定用户的文档数量并将其分配给 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
文件