Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Typegoose类定义的静态方法返回空数组_Node.js_Typescript_Mongoose_Typegoose - Fatal编程技术网

Node.js Typegoose类定义的静态方法返回空数组

Node.js Typegoose类定义的静态方法返回空数组,node.js,typescript,mongoose,typegoose,Node.js,Typescript,Mongoose,Typegoose,当我使用findByUserId定义的静态方法时,我得到空数组值,而如果我直接使用模型,它将成功检索对象 export default class Cart { @prop({required: true, unique: true}) public userId!: String @prop() public items?: [Item] public static async

当我使用findByUserId定义的静态方法时,我得到空数组值,而如果我直接使用模型,它将成功检索对象

    export default class Cart {
    
        @prop({required: true, unique: true})
        public userId!: String
    
        @prop()
        public items?: [Item]
    
        public static async findByUserId(this: ReturnModelType<typeof Cart>, userId: string) {
            try {
                return await this.find({itemId: userId});
            } catch (err) {
                return null;
            }
        }
    }

    export const CartModel = getModelForClass(Cart);
    
    // RETURNS EMPTY ARRAY
     const user = await CartModel.findByUserId("asdasdsa21321")

   // WORKS
     const user1 = await CartModel.find({userId:"asdasdsa21321"})
导出默认类购物车{
@属性({required:true,unique:true})
公共用户ID!:字符串
@支柱(
公共项目?:[项目]
公共静态异步findByUserId(this:ReturnModelType,userId:string){
试一试{
return等待this.find({itemId:userId});
}捕捉(错误){
返回null;
}
}
}
export const CartModel=getModelForClass(购物车);
//返回空数组
const user=wait CartModel.findByUserId(“asdasdsa21321”)
//工作
const user1=wait CartModel.find({userId:“asdasdsa21321”})

有什么想法吗?

问题是我使用的密钥无效

return await this.find({itemId: userId});
所以我把它换成了

return await this.find({userId: userId});