{"library":"beanie","install":[{"cmd":"pip install beanie","imports":["from pymongo import AsyncMongoClient\nfrom beanie import Document, Indexed, init_beanie\nfrom pydantic import BaseModel\nfrom typing import Optional\n\nclass Category(BaseModel):\n    name: str\n\nclass Product(Document):\n    name: str\n    price: Indexed(float)\n    category: Optional[Category] = None\n\n    class Settings:  # v2 style — not Collection\n        name = 'products'\n\nasync def init():\n    client = AsyncMongoClient('mongodb://localhost:27017')\n    await init_beanie(\n        database=client.mydb,\n        document_models=[Product]\n    )","# All operations require init_beanie() to have been called first\n\n# Create\nproduct = await Product(name='Widget', price=9.99).insert()\n# or:\nproduct = await Product.insert_one(Product(name='Widget', price=9.99))\n\n# Find\nproducts = await Product.find(Product.price < 10.0).to_list()\nproduct = await Product.find_one(Product.name == 'Widget')\nproduct = await Product.get(product_id)  # by _id\n\n# Update\nawait product.set({Product.price: 12.99})\n# or:\nproduct.price = 12.99\nawait product.save()\n\n# Delete\nawait product.delete()"]}]}