带有对象数组的猫鼬 updateMany

问题描述

我目前遇到了猫鼬问题。

我正在开发一个网络映射器应用程序(是的,我知道,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_idnetwork_idaddress 字段匹配数据库中的任何现有文档。 如果有匹配的文档,它应该更新它,否则它应该创建它。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)