2013-08-02 11 views
5

Zastanawiam się, czy istnieje sposób sprawdzenia, czy dokument o określonym ID istnieje w couchdb przy użyciu biblioteki python kanapa. Wydaje się, że jeśli to zrobię to:Jak sprawdzić, czy istnieje dokument couchdb przy użyciu pythona

server = couchdb.Server('http://localhost:5984') 
db = server['tweets'] 
mytemp = db[MyDocId] 

a dokument nie istnieje, kod rzuca „ResourceNotFound” wyjątek.

Mogłem po prostu wychwycić wyjątek i umieścić mój kod w części obsługi wyjątku, ale wydaje się zbyt brudny.

Miałem nadzieję, że istnieje sposób, aby mieć instrukcję "jeśli", która sprawdza, czy dokument z określonym kluczem istnieje, czy nie.

Dzięki!

+0

możliwy duplikat [Jak sprawdzić, czy istnieje dokument couchdb (bez jego pobierania)?] (Http://stackoverflow.com/questions/2831290/how-to-check-if-a-couchdb-document-exists -without-retrieve-it) –

+0

Naprawdę nie jest duplikatem, ponieważ wyraźnie pytam o bibliotekę python na kanapę, nie mogę tak naprawdę wykonać żądania http w tej bibliotece (przynajmniej nie w czysty sposób). Przeczytałem to rozwiązanie przed opublikowaniem mojego. Dzięki, że próbujesz pomóc! Doceniam wysiłek. – Oleg

Odpowiedz

9

naśladuje obiektu bazy danych do dict api, więc jest to bardzo proste i rodzime sprawdzić docs w bazie:

server = couchdb.Server('http://localhost:5984') 
db = server['tweets'] 
if MyDocId in db: 
    mytemp = db[MyDocId] 

mytemp = db.get(MyDocId) 
if mytemp is None: 
    print "missed" 

Zobacz couchdb-python docs więcej.

Powiązane problemy