我是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'
答案 0 :(得分:1)
听起来你应该使用find_one()
分别查询它们:
min_hits = db.collection.find_one({"type": "min_hits"})["value"]
box_list = db.collection.find_one({"type": "box_list"})["data"]
或者,您可能还想获得type
和value
或data
:
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)