gpt4 book ai didi

node.js - 如何动态更改 Mongoose 提供程序中集合或数据库的名称,Nestjs?

转载 作者:太空宇宙 更新时间:2023-11-04 01:33:01 25 4
gpt4 key购买 nike

我需要更改我的查询在 Nestjs 应用程序中指向的位置。

我正在使用具有版本的 Angular 应用程序,因此我必须使用 Mongoose 和 Nestjs 在后端动态更改集合甚至数据库。

我想我必须更改提供程序中的目标,并尝试根据用户在前面选择的版本动态更改它。

无论如何,我有这样的东西

import { Connection } from 'mongoose';
import { TestSchema } from './schemas/test.schema';
export const testProviders = [
{
provide: 'TestModelToken',
useFactory: (connection: Connection) =>
connection.model('Test', FilterSchema, 'tests'),

inject: ['DbConnectionToken'],
},
];

后来,比如我想把它改成动态指向这个集合

tests_24_04_2019

我的服务看起来像

@Injectable()
export class TestsService {
constructor(
@Inject("TestModelToken") private readonly testModel: Model<Test>,

谢谢,我感谢任何帮助

最佳答案

我对 Nestjs 不熟悉,但我认为你应该在运行时初始化集合模型,而不是直接在提供程序中创建它

 {
provide: 'TestModelToken',
useFactory: (connection: Connection) => {
getTestModel(version: string) => connection.model('Test', FilterSchema, `tests_${version}`),
}
inject: ['DbConnectionToken'],
},

关于node.js - 如何动态更改 Mongoose 提供程序中集合或数据库的名称,Nestjs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55453112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com