Maison >interface Web >js tutoriel >Maîtriser la définition de schéma et de modèle dans TypeScript : guide du débutant
Définition d'un schéma et d'un modèle en TypeScript (avec exemple)
Lorsque vous travaillez avec TypeScript et MongoDB (à l'aide de Mongoose), la définition de schémas et de modèles implique d'exploiter les interfaces TypeScript et les définitions de schéma Mongoose. Voici un guide étape par étape avec un exemple :
Assurez-vous que Mongoose et TypeScript sont installés dans votre projet :
npm install mangouste npm install --save-dev @types/mongoose
L'interface décrit la structure de vos documents.
types/Utilisateur.ts
interface d'exportation IUser { name: string; email : chaîne ; âge : nombre ; >
Utilisez l'interface pour vous aider à guider la conception de votre schéma.
modèles/Utilisateur.ts
importer {Schéma, modèle} depuis "mangouste" ;
importer { IUser } depuis "../types/User" ;
const UserSchema = new Schema({ nom : { type : Chaîne, requis : vrai }, email : { type : Chaîne, requis : vrai, unique : vrai }, âge : { type : Numéro, requis : vrai }, });
export const UserModel = model("User", UserSchema);
Maintenant, vous pouvez utiliser le UserModel pour interagir avec la base de données.
index.ts importe la mangouste depuis "mangouste" ;
importer { UserModel } depuis "./models/User" ;
fonction asynchrone main() {
// Connectez-vous à MongoDB wait mongoose.connect("mongodb://localhost:27017/mydb");
// Créer un nouvel utilisateur
const newUser = new UserModel({ nom : "Alice", email : "alice@example.com", âge : 25, });
// Enregistrez l'utilisateur dans la base de données wait newUser.save(); console.log("Utilisateur enregistré :", newUser);
// Trouver tous les utilisateurs
const utilisateurs = attendre UserModel.find(); console.log("Tous les utilisateurs :", utilisateurs);
// Fermer la connexion
attendre la mangouste.disconnect(); } main().catch((err) => console.error(err));
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!