MongoDB:从tablename中选择*

时间:2016-04-11 18:37:47

标签: python mongodb

我是MongoDB的新手,需要在表中查询所有字段。

所以我的代码如下所述:

dataset = db.collection.find({})
for d in dataset:
     print d

输出:

{u'_id': ObjectId('570be40a30b147fbba6f523b'), u'type': u'min_hits', u'value': u'100'}
{u'data': [u'remote', u'temprary', u'ipnodes'], u'_id': ObjectId('570be47d30b147fbba6f523c'), u'type': u'box_list'}

如何获取列的值

  

min_hits和box_list

我尝试了以下方式

 print d['min_hits']

但我得到以下错误:

    print d['min_hits']
KeyError: 'min_hits'

1 个答案:

答案 0 :(得分:1)

听起来你应该使用find_one()分别查询它们:

min_hits = db.collection.find_one({"type": "min_hits"})["value"]
box_list = db.collection.find_one({"type": "box_list"})["data"]

或者,您可能还想获得typevaluedata

dataset = db.collection.find({})
for d in dataset:
     data_type = d["type"]
     data_value = d.get("value", d.get("data", "No value or data set"))

     print(data_type, data_value)