2016-04-11 28 views
0

MongoDB için yeni ve tüm alanlar için bir tablo sorgulamanız gerekiyor. Aşağıda belirtildiği gibiMongoDB: select * from tablename

Yani benim kod var:

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

Çıktı:

{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'} 

nasıl sütunlar

min_hits and box_list

değerleri aşağıda yolu denedim alabilirsiniz

print d['min_hits'] 

ama hata altına almak:

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

Veya, aynı zamanda geliyordu olabilir type ve value veya data almak için:

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

Beklenen sonuç nedir? – styvane

cevap

1

Size olmalı gibi sadece ayrı ayrı find_one() kullanarak bunları sorgulanan sesleri :

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) 
+0

Detaylı örnek ve açıklama için çok teşekkürler – Prakash

İlgili konular