如何在 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 包含时间戳,表示文档的创建日期。

MongoDB ObjectId Details