如何连接字符串并需要在猫鼬中传入updateOne

How to concat string and need to pass in updateOne in mongoose

我需要更新状态,所以在这段代码中,我硬编码了键名 { user_status_is_active: isActivate },。但我必须动态传递它。我试过 {${this.entityName}_status_is_active: isActivate } 但它不起作用。谁能告诉我如何实现它?

// 动态值来自模式常量
this.entityName

 updateStatus = async (request: Request, response: Response, isActivate: boolean) => {
    try {
      const dbResponse = await this.model.updateOne(
        { _id: request.params.id },
        { user_status_is_active: isActivate },
        { runValidators: true },
      );
      if ('nModified' in dbResponse && dbResponse.nModified! < 1) {
        response.send(`${this.entityName} not modified.`);
      } else {
        response.send(`${this.entityName} ${isActivate ? 'activated' : 'deactivated'} successfully.`);
      }
    } catch (err) {
      response.send(err.message);
    }
  };

您可以使用计算属性名称来完成。类似于:

const dbResponse = await this.model.updateOne(
    { _id: request.params.id },
    { [`${this.entityName}_status_is_active`]: isActivate },
    { runValidators: true },
);