Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用typescript和mongoose?_Node.js_Mongodb_Typescript_Express_Mongoose - Fatal编程技术网

Node.js 如何使用typescript和mongoose?

Node.js 如何使用typescript和mongoose?,node.js,mongodb,typescript,express,mongoose,Node.js,Mongodb,Typescript,Express,Mongoose,我已经在一个应用程序上工作了几个月,我开始怀疑我当前的后端架构。我正在用Typescript、mongoose和 我有一个控制器来处理请求并将它们传递到存储库。我有两种类型的存储库。一个普通的存储库(控制器与之交互)和一个模型存储库(与mongoose模型交互) 我还为mongoose模型定义了一些接口。假设我有一个用户: export interface User { firstName: string; lastName: string; } export interfac

我已经在一个应用程序上工作了几个月,我开始怀疑我当前的后端架构。我正在用Typescript、mongoose和

我有一个控制器来处理请求并将它们传递到存储库。我有两种类型的存储库。一个普通的存储库(控制器与之交互)和一个模型存储库(与mongoose模型交互)

我还为mongoose模型定义了一些接口。假设我有一个用户:

export interface User {
    firstName: string;
    lastName: string;
}

export interface UserModel extends User, Document {
}
创建模型时,它使用UserModel

现在我的问题是:

1) 这是使用nodejs的正确方法吗

2) 向模型存储库发出请求时,是否应返回
User
界面或
UserModel
界面

现在我是这样用的

public async getUserById(userId: string): Promise<UserModel> {
    return this.userModel.findById(userId);
}
公共异步getUserById(userId:string):承诺{ 返回这个.userModel.findById(userId); } 然后,普通存储库返回
用户
界面的对象