导入 mongoengine 和 uvicorn
from mongoengine import *
import uvicorn
创建一个 MongoDB 连接
DATABASE_URI = "mongodb://localhost:27017"
db=DATABASE_URI+"/mydatabase"
connect(host=db)
声明一个类似于你的项目类的 MongoEngine 类
class MongoItem(Document):
name=StringField()
description= StringField()
price=FloatField()
tax= FloatField()
添加一行代码在 MongoDB 中存储一个项目
MongoItem(**item.dict()).save()
main.py的完整代码:
from fastapi import FastAPI
from pydantic import BaseModel
from mongoengine import *
import uvicorn
DATABASE_URI = "mongodb://localhost:27017"
db=DATABASE_URI+"/mydatabase"
connect(host=db)
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
class MongoItem(Document):
name=StringField()
description= StringField()
price=FloatField()
tax= FloatField()
app = FastAPI()
@app.post("/items/")
async def create_item(item: Item):
mongoitem=MongoItem(**item.dict()).save()
return item
if __name__ == "__main__":
uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)
甚至更短的使用 DynamicDocument 类
class MongoItem(DynamicDocument):
pass