0
我正在使用貓鼬和打字稿構建一個應用程序。這是一個簡單的模型,我做了:與打字稿的貓鼬打字問題
import * as callbackMongoose from 'mongoose';
var mongoose = callbackMongoose;
mongoose.Promise = global.Promise;
const Schema = mongoose.Schema;
var userSchema = new Schema({
username: String,
email: String,
hash: String
});
export default mongoose.model('User', userSchema);
它運作良好,但我需要在訪問屬性之前將每個文檔轉換爲任何文件。我讀了指南,說我可以這樣做:
interface IUser extends mongoose.Document {
username: String;
email: String;
hash: String;
}
export default mongoose.model<IUser>('User', userSchema);
我的問題是,貓鼬型似乎並不具有這樣的性質Document
。它也沒有財產ObjectId
。當我把貓鼬投入任何一個,並使用這些成員時,它的工作很好。這似乎是一個打字問題。
我安裝的是貓鼬打字像這樣:
npm install @types/mongoose --save
的分型做工作的模式和他們是很好的,我才使用其他庫。這些類型定義有問題嗎?難道我做錯了什麼?
事實證明,這個問題是由於我將導入分配給了一個變量。我使用類似於你在'Database.ts'中描述的方法修復它,所以你的答案是正確的。謝謝! – user5505266