몽구스와 타이프 스크립트를 사용하여 앱을 제작 중입니다. 여기에 내가 만든 간단한 모델이 있습니다 :몽구제 타이핑 문제 타이프 스크립트
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
속성이 없습니다. 내가 몽구스를 아무에게 던질 때이 멤버들을 사용하면 잘 작동합니다. 타이핑 문제 인 것 같습니다. typings는 스키마에 대한 작동합니까 그들은 내가 사용하는 다른 모든 라이브러리에 대한 좋은
npm install @types/mongoose --save
:
나는 몽구스 입력과 같이 설치되어 있어야합니다. 이 유형 정의에 문제가 있습니까? 내가 뭔가 잘못하고 있는거야? 이것은 전체 예제입니다npm install @typings/mongoose --save
:
변수에 가져 오기를 할당 한 것이 문제였습니다. 나는 당신이'Database.ts'에서 설명한 것과 비슷한 접근법을 사용하여 그것을 고쳤습니다. 그래서 당신의 답은 맞습니다. 감사! – user5505266