Hi there! Thanks for the tutorial. Pretty sure you do not need to use Mutex for sharing the MongoDB client instance between threads. Comment from docs of Client : Client uses std::sync::Arc internally, so it can safely be shared across threads or async tasks.