# MongooseError: Model.find() no longer accepts a callback

**Code:** `Mongoose: Model.find() no longer accepts a callback` · **Category:** MongoDB · **Seen on:** MongoDB, Node.js

Mongoose 7+ removed callback support from queries; they return promises.

## Meaning

Replace callbacks with `await`/`.then()`. `Model.find({}, cb)` becomes `await Model.find({})`. Same for `save`, `exec`, `findOne`, `updateOne`. Upgrade guides list all removed callback APIs.

## Common causes

- Code written for Mongoose 5/6 callbacks
- Old tutorials
- Library wrappers still passing callbacks
- Express handlers with nested callbacks
- Upgraded Mongoose without refactoring

## Quick fix

1. Use `const docs = await Model.find({})`
2. Wrap in try/catch for errors
3. Run a codemod/search for `, function (err`

## Detailed fix by platform

### Node.js

1. `const user = await User.findOne({ email }).exec();`

## How to diagnose

1. **Version** — Mongoose 7+?
2. **Call sites** — Callback style?
3. **Refactor** — async/await?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/mongodb/mongoose-no-longer-accepts-a-callback)
