之前我也遇到过同样的问题。
如果你使用NestJS + typeorm,我的案例可能会有所帮助。
这是一个模块:
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { TaskController } from './task.controller';
import { Task } from './task.entity';
import { TaskService } from './task.service';
@Module({
imports: [TypeOrmModule.forFeature([Task])],
controllers: [TaskController],
providers: [TaskService],
exports: [TaskService],
})
export class TaskModule {}
这是我的控制器的一部分:
import { Controller, Delete, Query, Request } from '@nestjs/common';
import { TaskService } from './task.service';
@Controller('task')
export class TaskController {
constructor(private taskService: TaskService) {}
@Delete('/multiple/')
async deleteMultiple(@Request() req, @Query('ids') ids: string[]) {
const userId = req.user.id;
try {
await this.taskService.deleteMultiple(userId, ids);
return 'success';
} catch (error) {
return 'error';
}
}
}
这里有一个服务:
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { In, Repository } from 'typeorm';
@Injectable()
export class TaskService {
constructor(@InjectRepository(Task) private repo: Repository<Task>) {}
async deleteMultiple(userId: string, taskIds: string[]) {
return await this.repo.delete({ userId, id: In(taskIds) });
}
}
所以,解决方案是
In(taskIds)
希望对某人有用。