{"library":"mongoose","title":"Mongoose","description":"Mongoose is a popular MongoDB object modeling tool (ODM) for Node.js and Deno, designed for asynchronous environments. It provides a schema-based solution to model application data, offering powerful validation, querying, and middleware capabilities. The current stable version is 9.4.1, with frequent patch and minor releases addressing bug fixes and new features.","language":"javascript","status":"active","last_verified":"Sat Apr 18","install":{"commands":["npm install mongoose"],"cli":null},"imports":["import mongoose from 'mongoose';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import mongoose, { Schema, model } from 'mongoose';\n\nasync function main() {\n  // Replace with your MongoDB connection string\n  const uri = process.env.MONGO_URI ?? 'mongodb://127.0.0.1:27017/test';\n\n  try {\n    await mongoose.connect(uri);\n    console.log('Connected to MongoDB!');\n\n    interface IUser {\n      name: string;\n      email: string;\n    }\n\n    const UserSchema = new Schema<IUser>({\n      name: { type: String, required: true },\n      email: { type: String, required: true, unique: true }\n    });\n\n    const UserModel = model<IUser>('User', UserSchema);\n\n    // Create a new user\n    const newUser = new UserModel({\n      name: 'Alice Wonderland',\n      email: 'alice@example.com'\n    });\n\n    await newUser.save();\n    console.log('User saved:', newUser);\n\n    // Find a user\n    const foundUser = await UserModel.findOne({ email: 'alice@example.com' });\n    console.log('User found:', foundUser);\n\n  } catch (error) {\n    console.error('MongoDB connection or operation error:', error);\n    process.exit(1);\n  } finally {\n    await mongoose.disconnect();\n    console.log('Disconnected from MongoDB.');\n  }\n}\n\nmain();","lang":"typescript","description":"This quickstart demonstrates how to connect to a MongoDB database, define a simple Mongoose schema and model, create a new document, save it, and then query for it.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}