{"library":"mongomock","title":"Mongomock","description":"Mongomock is a small, in-memory library that provides a fake PyMongo stub for testing Python code that interacts with MongoDB. It aims to mimic the behavior of the official PyMongo driver as closely as possible, allowing for database-dependent code to be tested without needing a running MongoDB instance. It is actively maintained, with the current version being 4.3.0, and receives regular updates to support new PyMongo and MongoDB features.","language":"python","status":"active","last_verified":"Thu May 14","install":{"commands":["pip install mongomock"],"cli":null},"imports":["import mongomock\nclient = mongomock.MongoClient()","from mongomock import patch\n@patch(servers=(('server.example.com', 27017),))"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import mongomock\n\n# 1. Create a mock client instance\nclient = mongomock.MongoClient()\n\n# 2. Access a database (it's created on first access)\ndb = client.mydatabase\n\n# 3. Access a collection\ncollection = db.mycollection\n\n# 4. Perform common MongoDB operations\n# Insert documents\ninsert_result_one = collection.insert_one({\"name\": \"Alice\", \"age\": 30})\nprint(f\"Inserted one: {insert_result_one.inserted_id}\")\n\ninsert_result_many = collection.insert_many([{\"name\": \"Bob\", \"age\": 25}, {\"name\": \"Charlie\", \"age\": 35}])\nprint(f\"Inserted many IDs: {insert_result_many.inserted_ids}\")\n\n# Find documents\nalice = collection.find_one({\"name\": \"Alice\"})\nprint(f\"Found Alice: {alice}\")\n\nall_docs = list(collection.find({}))\nprint(f\"All documents: {all_docs}\")\n\n# Update documents\nupdate_result = collection.update_one({\"name\": \"Bob\"}, {\"$set\": {\"age\": 26, \"city\": \"New York\"}})\nprint(f\"Matched {update_result.matched_count}, modified {update_result.modified_count} for Bob\")\n\nbob = collection.find_one({\"name\": \"Bob\"})\nprint(f\"Updated Bob: {bob}\")\n\n# Delete documents\ndelete_result = collection.delete_one({\"name\": \"Charlie\"})\nprint(f\"Deleted count for Charlie: {delete_result.deleted_count}\")\n\ncharlie = collection.find_one({\"name\": \"Charlie\"})\nprint(f\"Found Charlie (should be None): {charlie}\") # Output: Found Charlie (should be None): None\n\n# The database and its collections are in-memory and reset with a new MongoClient instance.","lang":"python","description":"This quickstart demonstrates how to initialize a `mongomock.MongoClient`, interact with a database and collection, and perform basic CRUD (Create, Read, Update, Delete) operations, mimicking the PyMongo API. The data is stored entirely in memory and is transient for each client instance.","tag":null,"tag_description":null,"last_tested":"2026-04-25","results":[{"runtime":"python:3.10-alpine","exit_code":0},{"runtime":"python:3.10-slim","exit_code":0},{"runtime":"python:3.11-alpine","exit_code":0},{"runtime":"python:3.11-slim","exit_code":0},{"runtime":"python:3.12-alpine","exit_code":0},{"runtime":"python:3.12-slim","exit_code":0},{"runtime":"python:3.13-alpine","exit_code":0},{"runtime":"python:3.13-slim","exit_code":0},{"runtime":"python:3.9-alpine","exit_code":0},{"runtime":"python:3.9-slim","exit_code":0}]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-14","installed_version":"4.3.0","pypi_latest":"4.3.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.9,"avg_import_s":0.53,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.35,"mem_mb":12,"disk_size":"21.9M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.42,"mem_mb":12,"disk_size":"21.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.23,"mem_mb":12,"disk_size":"22M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.3,"mem_mb":12,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.45,"mem_mb":13,"disk_size":"24.0M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.58,"mem_mb":13,"disk_size":"24.0M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.4,"mem_mb":13,"disk_size":"25M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.44,"mem_mb":13,"disk_size":"25M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.68,"mem_mb":13.6,"disk_size":"15.9M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.84,"mem_mb":13.6,"disk_size":"15.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.64,"mem_mb":13.6,"disk_size":"16M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.76,"mem_mb":13.6,"disk_size":"16M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.7,"mem_mb":13.8,"disk_size":"15.6M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.91,"mem_mb":13.8,"disk_size":"15.5M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.59,"mem_mb":13.8,"disk_size":"16M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.91,"mem_mb":13.8,"disk_size":"16M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.31,"mem_mb":11,"disk_size":"21.4M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.39,"mem_mb":11,"disk_size":"21.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.27,"mem_mb":11,"disk_size":"22M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mongomock","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.35,"mem_mb":11,"disk_size":"22M"}]}}