2013-08-02 4 views
5

Мне было интересно, есть ли способ проверить, существует ли документ с определенным идентификатором в couchdb, используя библиотеку python для дивана. Кажется, что если я делаю это:Как проверить, существует ли документ couchdb с использованием python

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

и документ не существует, код бросает «ResourceNotFound» исключение.

Я мог бы просто поймать исключение и поместить мой код в часть обработки исключений, но кажется слишком грязным.

Я надеялся, что есть способ, чтобы иметь инструкцию «if», которая проверяет наличие или отсутствие документа с определенным ключом.

Спасибо!

+0

Возможный дубликат [Как проверить, существует ли документ couchdb (без его получения)?] (Http://stackoverflow.com/questions/2831290/how-to-check-if-a-couchdb-document-exists -without-retrieve-it) –

+0

Не совсем дубликат, так как я прямо спрашиваю о библиотеке python couch, я не могу выполнять главные HTTP-запросы в этой библиотеке (по крайней мере, не в чистом виде). Я прочитал это решение, прежде чем публиковать мои. Спасибо за попытку помочь в любом случае! Я ценю усилия. – Oleg

ответ

9

Объект базы данных подражает к Сыроватскому API, так что это очень просто и родной, чтобы проверить документы в базе:

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" 

См couchdb-python docs больше.

Смежные вопросы