【发布时间】:2017-05-04 07:06:44
【问题描述】:
数据:
{
"Fruit": "Pomegranate",
"District": "Nasik",
"Taluka": "Nasik",
"Revenue circle": "Nasik",
"Sum Insured": 28000,
"Area": 1200,
"Farmer": 183
}
{
"Fruit": "Pomegranate",
"District": "Jalna",
"Taluka": "Jalna",
"Revenue circle": "Jalna",
"Sum Insured": 28000,
"Area": 120,
"Farmer": 13
}
{
"Fruit": "Guava",
"District": "Pune",
"Taluka": "Haveli",
"Revenue circle": "Uralikanchan",
"Sum Insured": 50000,
"Area": 10,
"Farmer": 100
}
{
"Fruit": "Guava",
"District": "Nasik",
"Taluka": "Girnare",
"Revenue circle": "Girnare",
"Sum Insured": 50000,
"Area": 75,
"Farmer": 90
}
{
"Fruit": "Banana",
"District": "Nanded",
"Taluka": "Nandurbar",
"Revenue circle": "NandedBK",
"Sum Insured": 5000,
"Area": 2260,
"Farmer": 342
}
{
"Fruit": "Banana",
"District": "Jalgaon",
"Taluka": "Bhadgaon",
"Revenue circle": "Bhadgaon",
"Sum Insured": 5000,
"Area": 220,
"Farmer": 265
}
我想在单个 python 脚本中针对此数据中的所有类型的组合编写查询,从而为我提供我们想要的准确输出。
例如:
假设我们只想要 Jalgaon 区的fruit=Banana 的输出,这样就可以得到准确的输出。
假设我们想要区域农民数量超过 100 的输出,那么这给出了精确的输出。
假设我们只想要 District=Pune 的输出,那么该查询会给出准确的输出。同样。
有什么提示吗?如何编写查询来解决这个问题?
我试过的代码:
import pymongo
connection = pymongo.MongoClient("mongodb://localhost")
db=connection.book
record1 = db.book_collection
cursor = record1.find({"Fruit":"Banana"},{"Fruit":True, "_id":False, "Farmer":True})
for doc in cursor:
print doc # but there I need one python file for one query
【问题讨论】:
-
您是否已经尝试过?
-
您可以将这些结构作为字典加载到 python 中,然后使用您想要的标准列表对其进行迭代。例如,如果 "fruit" == "Banana" 等,您遍历所有元素并打印它们。
-
是的,我试过了,import pymongo connection = pymongo.MongoClient("mongodb://localhost") db=connection.book record1 = db.book_collection cursor = record1.find({"Fruit": "Banana"},{"Fruit":True, "_id":False, "Farmer":True}) 用于光标中的文档:打印文档
-
你能在你的帖子中添加这个吗,它将有助于可视化你的问题。
-
现在看起来像一个真正的问题。
标签: python mongodb mongodb-query pymongo mongoengine