Mungo Eingabe Problem mit Typoskript
Baue ich eine app mit Mungo und Typoskript. Hier ist ein einfaches Modell, das ich gemacht habe:
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);
Funktioniert es gut, aber ich brauche zu werfen jedes Dokument vor dem Zugriff auf Eigenschaften. Ich lese eine Anleitung, die gesagt, ich könnte dies tun:
interface IUser extends mongoose.Document {
username: String;
email: String;
hash: String;
}
export default mongoose.model<IUser>('User', userSchema);
Mein problem ist, dass der Typ Mungo scheint nicht, haben die Eigenschaft Document
. Es hat auch nicht die Eigenschaft ObjectId
. Wenn ich cast Mungo und verwenden Sie diese Mitglieder es funktioniert Prima. Es scheint zu sein, eine Eingabe-Ausgabe.
Installierte ich die mongoose Eingabe etwa so:
npm install @types/mongoose --save
Den Testungen Arbeit tun, für die Schema-und Sie sind gut für alle anderen Bibliotheken, die ich benutze. Ist etwas falsch mit dieser Art von Definitionen? Mache ich etwas falsch?
Für [email protected]
Ich denke, dass Sie möglicherweise verwenden
statt:
Dieser voll ist Beispiel:
Datenbank.ts
UserData.ts
UserModel.ts
Ich auch das ganze Projekt Beispiel für die Verwendung Typoskript, node.js, Mungo & passport.js gleich hier: https://github.com/thanhtruong0315/typescript-express-passportjs
Glück.
Database.ts
so dass Ihre Antwort richtig ist. Danke!