# Guides

Mongoose guides provide detailed tutorials on Mongoose's core concepts and
integrating Mongoose with external tools and frameworks.

## Mongoose Core Concepts

* [Schemas](guide.html)
* [SchemaTypes](schematypes.html)
* [Connections](connections.html)
* [Models](models.html)
* [Documents](documents.html)
* [Subdocuments](subdocs.html)
* [Queries](queries.html)
* [Validation](validation.html)
* [Middleware](middleware.html)
* [Populate](populate.html)
* [Discriminators](discriminators.html)
* [Plugins](plugins.html)
* [Faster Mongoose Queries With Lean](tutorials/lean.html)
* [Query Casting](tutorials/query_casting.html)
* [findOneAndUpdate](tutorials/findoneandupdate.html)
* [Getters and Setters](tutorials/getters-setters.html)
* [Virtuals](tutorials/virtuals.html)

## Advanced Topics

* [Working with Dates](tutorials/dates.html)
* [Custom Casting For Built-in Types](tutorials/custom-casting.html)
* [Custom SchemaTypes](customschematypes.html)
* [Advanced Schemas](advanced_schemas.html)
* [Sharing Schemas Between Mongoose Projects](shared-schemas.html)

## Integrations

* [Promises](promises.html)
* [Lodash](lodash.html)
* [AWS Lambda](lambda.html)
* [Next.js](nextjs.html)
* [Browser Library](browser.html)
* [GeoJSON](geojson.html)
* [Transactions](transactions.html)
* [MongoDB Driver Deprecation Warnings](deprecations.html)
* [Testing with Jest](jest.html)
* [TLS/SSL Connections](tutorials/ssl.html)
* [MongoDB Client Side Field Level Encryption](field-level-encryption.html)

## Other Guides

* [How to Check Your Mongoose Version](check-version.html)

## Migration Guides

* [Mongoose 8.x to 9.x](migrating_to_9.html)
* [Mongoose 7.x to 8.x](migrating_to_8.html)
* [Mongoose 6.x to 7.x](migrating_to_7.html)
* [Mongoose 5.x to 6.x](migrating_to_6.html)
