FastAPI从RavenDB实时服务器获取JSON数据集失败及ID疑问求助
问题:FastAPI端点无法从RavenDB实时服务器获取JSON数据集
我尝试创建一个API端点,从RavenDB实时服务器http://live-test.ravendb.net的DSITE1数据库中获取JSON数据集,但未能正常运行。
- 不确定所使用的JSON数据ID是否正确,且实时服务器存储JSON数据集时会自动生成专属ID。
我的API代码
from fastapi import FastAPI from pyravendb.store import document_store app = FastAPI() document_store = document_store.DocumentStore(urls=["http://live-test.ravendb.net"], database="DSITE1") document_store.initialize() @app.get("/json_data/") def json_data(): with document_store.open_session() as session: data = session.load("dicts/1-A") return data
原始JSON数据示例
[ { "id": 1, "name": "Widget", "price": 10.99 }, { "id": 2, "name": "Gadget", "price": 24.95 }, { "id": 3, "name": "Doodad", "price": 5.99 } ]
存储到DSITE1数据库后的JSON数据
{ { "id": 1, "name": "Widget", "price": 10.99 }, { "id": 2, "name": "Gadget", "price": 24.95 }, { "id": 3, "name": "Doodad", "price": 5.99 }, "Id": "dicts/1-A", "@metadata": { "@collection": "dicts", "Raven-Python-Type": "builtins.dict" } }
实时服务器存储代码
from ravendb import DocumentStore import json document_store = DocumentStore(urls=["http://live-test.ravendb.net"], database="DSITE1") document_store.initialize() with open("path\\site1.json", "r") as json_file: json_data = json.load(json_file) with document_store.open_session() as session: for data in json_data: session.store(data) session.save_changes() document_store.close()
内容的提问来源于stack exchange,提问作者K_B
相关产品推荐
相关产品推荐

