问题描述
我目前遇到了猫鼬问题。
我正在开发一个网络映射器应用程序(是的,我知道,Nmap 存在)并且我在保存或更新数据库中的主机时遇到了这个问题。
目前,我有我需要做的事情,但我觉得这不是正确的解决方案(这是针对个人项目的,所以我想尽可能正确地做)。
我的解决方案如下:
public async create(createHost: CreateHostDto) {
return this.hostModel.findOneAndUpdate({ user_id: createHost.user_id,network_id:
createHost.network_id,address: createHost.address },createHost,{ upsert: true,new: true })
}
public async createMany(createHosts: CreateHostDto[]) {
const returnHosts = [];
for (const host of createHosts) {
const dbHost = await this.create(host);
returnHosts.push(dbHost);
}
return returnHosts;
}
我想要的是,当我调用端点来创建我的主机时,它会检查 user_id、network_id 和 address 字段匹配数据库中的任何现有文档。 如果有匹配的文档,它应该更新它,否则它应该创建它。
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)