如何在Atlas MongoDb上使用typeorm创建数据库集合?

时间:2020-04-16 17:44:26

标签: mongodb nestjs typeorm mongodb-atlas

我一直在可以正常工作的项目上使用Mysql和pg Typeorm和Nestjs。我决定使用mongo Atlas,我已成功连接到Atlas,没有错误,但未创建馆藏。每当我在这些步骤中使用mysql时,都会创建该表。

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;
}

感谢您的努力

1 个答案:

答案 0 :(得分:0)

当您尝试插入第一个文档时,将创建该集合。

另一个提示。我注意到您的实体中正在插入“ @CreateDateColumn()”。 MongoDB ObjectId包含一个时间戳,代表文档的创建日期。

MongoDB ObjectId Details