繁体   English   中英

如何将参数类型定义为字符串列表中的字符串并运行 mongo db 查询

[英]How can I define argument type as a string from list of strings & run mongo db query

如何将函数中的 arg 类型定义为字符串列表中的字符串并运行 mongodb 查询。 我在做什么如下所示:

users.services.ts

async findOne(key: "_id" | "email" | "username", value: string) {
    
    const user = await this.userModel.findOne({ key: value }).exec();
    if (!user) {
      throw new NotFoundException();
    }
    return user;
  }

这就是我在users.services.ts中调用findOne的位置和方式

const user = await this.usersService.findOne("username", username);

它不起作用,在调试时它没有选择键和值的值。
非常感谢您提前提供的帮助。

您需要使用$or查询

{
 $or: [
     {"_id": value},
     {"email": value},
     {"username": value}
 ]
}

最好拥有三个或更多不同的功能并使用给定的键进行调用,而不是拥有or条件的列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM