Typeorm 打字稿存储库 findone - 类型参数不可分配给类型 'FindOneOptions<GuildConfiguration>' 的参数
Typeorm typescript repository findone - Argument of type is not assignable to parameter of type 'FindOneOptions<GuildConfiguration>'
这是我的配置文件。
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
@Entity({ name: 'guild_configurations' })
export class GuildConfiguration {
@PrimaryGeneratedColumn()
id: number;
@Column({ unique: true, name: 'guild_id' })
guildId: string;
@Column({ default: '?' })
prefix: string;
@Column({ name: 'welcome_channel_id', nullable: true })
welcomeChannelId: string;
}
我试图用 discord 添加搜索 guildId guild.id
// https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=e-guildCreate
import { Guild } from 'discord.js';
import BaseEvent from '../utils/structures/BaseEvent';
import DiscordClient from '../client/client';
import { getRepository, ObjectID } from 'typeorm';
import { GuildConfiguration } from '../typeorm/entities/GuildConfiguration';
export default class GuildCreateEvent extends BaseEvent {
constructor(
private readonly guildConfigRepository = getRepository(GuildConfiguration)
) {
super('guildCreate');
}
async run(client: DiscordClient, guild: Guild) {
console.log("Hello World");
console.log(`Joined ${guild.name}`);
const config = await this.guildConfigRepository.findOne({guildId:guild.id});
if(config){
console.log("A configuration was found!")
}else{
console.log("Configuration was not found. Creating one...")
const newConfig = this.guildConfigRepository.create({guildId:guild.id})
return this.guildConfigRepository.save(newConfig);
}
}
}
this.guildConfigRepository.findOne({guildId:guild.id});
它显示
Argument of type '{ guildId: string; }' is not assignable to parameter of type 'FindOneOptions'.
Object literal may only specify known properties, and 'guildId' does not exist in type 'FindOneOptions'.ts(2345)
我的 typeorm 版本是“typeorm”:“^0.3.1”
有谁知道如何解决这一问题?
谢谢!
我刚刚将我的 typeorm 版本从 0.3.x 降级到 0.2.41,它成功了!
您可以使用 where
键代替,例如:
this.guildConfigRepository.findOne({
where: {
guildId: guild.id
}
});
这是我的配置文件。
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
@Entity({ name: 'guild_configurations' })
export class GuildConfiguration {
@PrimaryGeneratedColumn()
id: number;
@Column({ unique: true, name: 'guild_id' })
guildId: string;
@Column({ default: '?' })
prefix: string;
@Column({ name: 'welcome_channel_id', nullable: true })
welcomeChannelId: string;
}
我试图用 discord 添加搜索 guildId guild.id
// https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=e-guildCreate
import { Guild } from 'discord.js';
import BaseEvent from '../utils/structures/BaseEvent';
import DiscordClient from '../client/client';
import { getRepository, ObjectID } from 'typeorm';
import { GuildConfiguration } from '../typeorm/entities/GuildConfiguration';
export default class GuildCreateEvent extends BaseEvent {
constructor(
private readonly guildConfigRepository = getRepository(GuildConfiguration)
) {
super('guildCreate');
}
async run(client: DiscordClient, guild: Guild) {
console.log("Hello World");
console.log(`Joined ${guild.name}`);
const config = await this.guildConfigRepository.findOne({guildId:guild.id});
if(config){
console.log("A configuration was found!")
}else{
console.log("Configuration was not found. Creating one...")
const newConfig = this.guildConfigRepository.create({guildId:guild.id})
return this.guildConfigRepository.save(newConfig);
}
}
}
this.guildConfigRepository.findOne({guildId:guild.id}); 它显示
Argument of type '{ guildId: string; }' is not assignable to parameter of type 'FindOneOptions'. Object literal may only specify known properties, and 'guildId' does not exist in type 'FindOneOptions'.ts(2345)
我的 typeorm 版本是“typeorm”:“^0.3.1” 有谁知道如何解决这一问题? 谢谢!
我刚刚将我的 typeorm 版本从 0.3.x 降级到 0.2.41,它成功了!
您可以使用 where
键代替,例如:
this.guildConfigRepository.findOne({
where: {
guildId: guild.id
}
});