使用PyMong从JSON返回随机结果

2024-05-28 23:51:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用PyMongo从JSON数据集合中检索随机结果。我用的是烧瓶和MongoDB。设置方法如下:

def getData():
    dataCollection = db["data"]
    for item in dataCollection.find({},{"Category":1,"Name":1,"Location":1,"_id":0}):
        return (jsonify(item)

return (jsonify(item)返回1个结果,并且总是第一个结果。我怎样才能把它随机化?你知道吗

我尝试导入随机模块(import random),并将最后一行切换到random.choice(jsonify(item),但这会导致错误。你知道吗

以下是导入MongoDB的数据:

[
  {
    "Category":"Tennis",
    "Name":"ABC Courts",
    "Location":"123 Fake St"
  },
  {
    "Category":"Soccer",
    "Name":"XYZ Arena",
    "Location":"319 Ace Blvd"
  },
  {
    "Category":"Basketball",
    "Name":"Dome Courts",
    "Location":"8934 My Way"
  },
]

Tags: 数据方法namejsonreturn烧瓶mongodblocation
1条回答
网友
1楼 · 发布于 2024-05-28 23:51:37

你总是得到一个结果,因为return jsonify(item)结束了请求。jsonify返回一个响应,它不仅将Mongo的结果转换成json对象。如果要将Mongo结果转换为序列,请使用list,然后random.choice

item = random.choice(list(dataCollection.find({},{"Category":1,"Name":1,"Location":1,"_id":0}))

return jsonify(item)

相关问题 更多 >

    热门问题