You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 06:17:05