我想使用 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 = …Run Code Online (Sandbox Code Playgroud) 所以我想在我的角度项目中创建共享库。我在下面列出了我的两种方法,它们都发挥了作用,但我不知道哪一种是我应该实施的更好的方法。
\nlibs\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-*\nRun Code Online (Sandbox Code Playgroud)\nlibs\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 *\nRun 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-access和util库,那么也很高兴知道
我试图遍历一个查询,以获取最高的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) 我想将 a 引用module到 a queue。所以一个人queue可以有多个modules. 因此,我只是想存储id的module在queue。
根据 Typeorm 的文档,我应该以这种方式实现这种关系:
@ManyToOne(type => Module)
@JoinColumn({ name: "currentModuleId" })
module: Module;
Run Code Online (Sandbox Code Playgroud)
我只是想提供id的module,而不是一个模块对象。所以我想出了这个解决方案:
@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 …
nestjs ×2
typeorm ×2
angular ×1
coldfusion ×1
foreign-keys ×1
mongodb ×1
monorepo ×1
nrwl-nx ×1
postgresql ×1
qoq ×1
sql ×1
typescript ×1