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

如何用requests获取MongoDB surveys集合的最新提交文档?

获取MongoDB集合最新文档的Requests实现

要直接通过requests获取surveys集合里的最新提交文档,核心是利用API的查询参数让数据库端完成排序和数量限制,避免拉取全集合浪费带宽,具体操作如下:

关键前提

你的surveys文档中必须有记录提交时间的字段(比如submittedAt、createdAt这类日期字段),否则无法判定文档的先后顺序。

构造Requests请求

通过GET请求的params参数传递排序和限制条件,让数据库直接返回最新的1条数据:

import requests

# 基础接口地址
api_url = "http://ipaddress:port/surveys"
# 构造查询参数:按提交时间降序排序,只返回1条
query_params = {
    "sort": '{"submittedAt": -1}',  # -1表示倒序,对应MongoDB的sort规则
    "limit": 1
}

# 发送请求
response = requests.get(api_url, params=query_params)

# 处理响应
if response.status_code == 200:
    latest_survey = response.json()[0]  # 取返回数组的第一条
    print(latest_survey)
else:
    print(f"请求失败:{response.status_code}")

注意事项

  • 如果你的API对参数格式有特殊要求(比如部分REST框架需要把sort拆成sortBy和sortOrder两个参数),需要对应调整参数格式,核心逻辑还是降序排序+限制1条。
  • 替换submittedAt为你实际使用的时间字段名。
  • 如果API需要身份验证(比如API密钥),记得在请求头中添加验证信息,例如:
    headers = {"Authorization": "Bearer your_api_key"}
    response = requests.get(api_url, params=query_params, headers=headers)
    
  • 确保后端API支持解析这些参数,在数据库查询时执行sort()和limit()操作(比如用Mongoose的话就是Survey.find().sort({submittedAt: -1}).limit(1))。

内容的提问来源于stack exchange,提问作者X. Star

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 06:53:11