dew*_*wey 2 mongodb typescript typeorm nestjs
我想使用 TypeORM 通过 NestJS 创建一个 API。我使用过 Postgres 并且它有效,但我需要切换到 MongoDB。因此我做了一些改变。连接已建立,但随后我会立即收到此错误:
MongoError: Index keys cannot be empty.
Run Code Online (Sandbox Code Playgroud)
TypeOrmModule.forRoot({
type: DATABASE_TYPE,
url: DATABASE_HOST,
port: DATABASE_PORT,
username: DATABASE_USERNAME,
password: DATABASE_PASSWORD,
database: DATABASE_NAME,
entities: [`${__dirname}/**/*.entity.{ts,js}`],
synchronize: DATABASE_SYNCHRONIZE,
})
Run Code Online (Sandbox Code Playgroud)
export const DATABASE_TYPE: any = process.env.DATABASE_TYPE || 'postgres';
export const DATABASE_USERNAME: string =
process.env.DATABASE_USERNAME || 'admin';
export const DATABASE_PASSWORD: string =
process.env.DATABASE_PASSWORD || 'asdsddddd';
export const DATABASE_HOST: string = process.env.DATABASE_HOST || 'localhost';
export const DATABASE_PORT: number = Number(process.env.DATABASE_PORT) || 5432;
export const DATABASE_NAME: string = process.env.DATABASE_NAME || 'nestjs-db';
export const DATABASE_SYNCHRONIZE: boolean =
Boolean(process.env.DATABASE_SYNCHRONIZE) || true;
Run Code Online (Sandbox Code Playgroud)
DATABASE_TYPE=mongodb
DATABASE_USERNAME=admin
DATABASE_PASSWORD=admin
DATABASE_HOST=mongodb+srv://steeve:s21a@graphql-0okgk.mongodb.net/test?retryWrites=true&w=majority
DATABASE_SYNCHRONIZE=true
Run Code Online (Sandbox Code Playgroud)
我在 github 上发现了这个问题: https: //github.com/typeorm/typeorm/issues/4267 我的解决方案是关闭同步选项(或者完全删除它):
synchronize: false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3186 次 |
| 最近记录: |