我在服务中使用了mongoose模式注入,就像我们通常做的那样。但是现在我希望将我的一些代码转移到helper函数中,以便它可以重用。通常,mongoose模式注入为:-
export class UsersService {
constructor(
private postsService: PostsService,
@InjectModel(User.name) private userModel: Model<UserDocument>,
@InjectModel(Category.name) private categoryModel: Model<AddCategoryDto>,
@InjectModel(friendship.name)
private friendshipModel: Model<friendshipDocument>,
@InjectModel(Attachment.name)
private attachmentModel: Model<AttachmentDocument>,
@InjectModel(UserCategory.name)
private userCategoryModel: Model<AddUserCategoryDto>,
@InjectModel(Post.name) private postModel: Model<PostDocument>,
@InjectModel(Image.name) private imageModel: Model<ImageDocument>,
) {}}
所以,现在我希望这个@InjectModel(User.name) private userModel: Model<UserDocument>
在函数定义中使用单独的文件,像这样:-
export isFriends(userID: string, friendID: string){
@InjectModel(User.name) private userModel: Model<UserDocument>
const user1 = await userModel.findById(userID);
}
但是我在这个时候得到错误。请告诉我,这是如何实现的?在NESTJS中有点新鲜。
1条答案
按热度按时间ncecgwcz1#
最接近你想要实现的是简单地将
userModel
传递到函数的参数中(我还将args作为object传递,因为有一堆未命名的参数是不好的):