-2

当我使用 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"})

有任何想法吗?

4

1 回答 1

0

问题是我使用了无效的密钥。

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

所以我把它换成了

return await this.find({userId: userId});
于 2020-11-04T07:37:18.077 回答