小编dew*_*wey的帖子

NestJS API 不适用于 MongoDB(索引键不能为空)

我想使用 TypeORM 通过 NestJS 创建一个 API。我使用过 Postgres 并且它有效,但我需要切换到 MongoDB。因此我做了一些改变。连接已建立,但随后我会立即收到此错误:

MongoError: Index keys cannot be empty.
Run Code Online (Sandbox Code Playgroud)

应用程序模块.ts

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)

配置.ts

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 = …
Run Code Online (Sandbox Code Playgroud)

mongodb typescript typeorm nestjs

2
推荐指数
1
解决办法
3186
查看次数

NX 一个 Ui-lib 或为每个 Ui 用例创建一个库

所以我想在我的角度项目中创建共享库。我在下面列出了我的两种方法,它们都发挥了作用,但我不知道哪一种是我应该实施的更好的方法。

\n

#1 一个包含 X 组件的 Ui 库

\n
libs\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 [...]\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 shared\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ui (lib)\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ui-card (component)\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ui-*\n
Run Code Online (Sandbox Code Playgroud)\n

#2 每个 Ui 都有一个库

\n
libs\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 [...]\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 shared\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ui-card (lib)\n    \xe2\x94\x82    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 card (component)\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ui-* (lib)\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 *\n
Run Code Online (Sandbox Code Playgroud)\n

本文指出我应该遵循第二种方法,但没有解释为什么应该为每个 ui 创建一个库: https ://medium.com/showpad-engineering/how-to-organize-and-name-应用程序和库在 nx-monorepo-for-immediate-team-wide-9876510dbe28

\n

如果我的问题的解决方案也可以用于data-accessutil库,那么也很高兴知道

\n

monorepo angular nrwl-nx

2
推荐指数
1
解决办法
1177
查看次数

获取查询列的最大值

我试图遍历一个查询,以获取最高的createdTime。列instanceId是一个GUID(字符串),这给了我这个错误: 在此处输入图片说明

引用396B3850是instanceId的开头

<cfquery datasource="hostmanager" name="licenses">
SELECT *
FROM licenses
</cfquery>

<cfloop query="licenses">
    <cfquery name="getHighestCreatedTime" dbtype="query">
    SELECT MAX(CREATEDTIME)
    FROM licenses
    WHERE instanceId = #licenses.instanceId#
    AND startDate = #licenses.startDate#
    </cfquery>
</cfloop>
Run Code Online (Sandbox Code Playgroud)

sql coldfusion qoq

1
推荐指数
1
解决办法
106
查看次数

TypeORM 外键

我想将 a 引用module到 a queue。所以一个人queue可以有多个modules. 因此,我只是想存储idmodulequeue

根据 Typeorm 的文档,我应该以这种方式实现这种关系:

@ManyToOne(type => Module)
@JoinColumn({ name: "currentModuleId" })
module: Module;
Run Code Online (Sandbox Code Playgroud)

我只是想提供idmodule,而不是一个模块对象。所以我想出了这个解决方案:

模块实体

@Entity()
export class Module extends BaseEntity {
  @PrimaryColumn({ unique: true })
  public id: string;
}
Run Code Online (Sandbox Code Playgroud)

队列实体

@Entity()
export class Queue extends BaseEntity {
  @PrimaryGeneratedColumn('uuid')
  public id: string;

  @OneToOne(() => Module)
  @JoinColumn({ name: 'currentModuleId' })
  currentModuleId: string;
}
Run Code Online (Sandbox Code Playgroud)

这有效,但我不太相信这是一个防错解决方案。我应该如何为 实现外键queue

另外:Typeorm …

postgresql foreign-keys typeorm nestjs

1
推荐指数
1
解决办法
3580
查看次数