如何在 Atlas MongoDb 上使用 typeorm 创建数据库集合?
How to create database collection with typeorm on Atlas MongoDb?
我一直在将 Mysql 和 pg Typeorm 与 Nestjs 一起用于工作正常的项目。我决定使用 mongo Atlas,我已成功连接到 Atlas,没有错误,但未创建集合。每当我在这些步骤中使用 mysql 时,都会创建 table。
mongo 没有发生这种情况,可能是我做的不对
我也安装了依赖
npm i --save @nestjs/typeorm typeorm @types/mongodb mongodb
ormconfig.json
{
"type": "mongodb",
"url": "mongodb+srv://dbUser:<password>@<database>.mongodb.net/test?retryWrites=true&w=majority",
"useNewUrlParser": true,
"synchronize": true,
"useUnifiedTopology": true,
"logging": true,
"ssl": true,
"entities": [
"dist/**/*.entity{.ts,.js}"
]
}
app.module.ts
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [TypeOrmModule.forRoot()],
controllers: [AppController],
providers: [AppService],
})
export class AppModule { }
test.entity.ts
import { Entity, Column, CreateDateColumn, ObjectIdColumn, ObjectID } from 'typeorm';
@Entity('Test')
export class TestEntity {
@ObjectIdColumn()
id: ObjectID;
@Column()
firstName: string;
@Column()
lastName: string;
@Column()
age: number;
@CreateDateColumn()
created: Date;
}
感谢你的努力
将在您尝试插入第一个文档时创建集合。
只是另一个提示。我注意到您在实体中插入了“@CreateDateColumn()”。 MongoDB ObjectId 包含时间戳,表示文档的创建日期。
我一直在将 Mysql 和 pg Typeorm 与 Nestjs 一起用于工作正常的项目。我决定使用 mongo Atlas,我已成功连接到 Atlas,没有错误,但未创建集合。每当我在这些步骤中使用 mysql 时,都会创建 table。
mongo 没有发生这种情况,可能是我做的不对
我也安装了依赖
npm i --save @nestjs/typeorm typeorm @types/mongodb mongodb
ormconfig.json
{
"type": "mongodb",
"url": "mongodb+srv://dbUser:<password>@<database>.mongodb.net/test?retryWrites=true&w=majority",
"useNewUrlParser": true,
"synchronize": true,
"useUnifiedTopology": true,
"logging": true,
"ssl": true,
"entities": [
"dist/**/*.entity{.ts,.js}"
]
}
app.module.ts
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [TypeOrmModule.forRoot()],
controllers: [AppController],
providers: [AppService],
})
export class AppModule { }
test.entity.ts
import { Entity, Column, CreateDateColumn, ObjectIdColumn, ObjectID } from 'typeorm';
@Entity('Test')
export class TestEntity {
@ObjectIdColumn()
id: ObjectID;
@Column()
firstName: string;
@Column()
lastName: string;
@Column()
age: number;
@CreateDateColumn()
created: Date;
}
感谢你的努力
将在您尝试插入第一个文档时创建集合。
只是另一个提示。我注意到您在实体中插入了“@CreateDateColumn()”。 MongoDB ObjectId 包含时间戳,表示文档的创建日期。