Return 来自 JSON 使用 PyMongo 的随机结果
Return Random Result from JSON using PyMongo
我正在尝试使用 PyMongo 从 JSON 数据集合中检索随机结果。我正在使用 Flask 和 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)
returns 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"
},
]
您总是得到一个结果,因为 return jsonify(item)
结束了请求。 json 验证 returns 一个响应,它不仅将 Mongo 的结果转换为 json 对象。如果您想将 Mongo 结果转换为序列,请使用 list
然后 random.choice
item = random.choice(list(dataCollection.find({},{"Category":1,"Name":1,"Location":1,"_id":0}))
return jsonify(item)
我正在尝试使用 PyMongo 从 JSON 数据集合中检索随机结果。我正在使用 Flask 和 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)
returns 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"
},
]
您总是得到一个结果,因为 return jsonify(item)
结束了请求。 json 验证 returns 一个响应,它不仅将 Mongo 的结果转换为 json 对象。如果您想将 Mongo 结果转换为序列,请使用 list
然后 random.choice
item = random.choice(list(dataCollection.find({},{"Category":1,"Name":1,"Location":1,"_id":0}))
return jsonify(item)