如何使用Cloudant创建视图

时间:2018-12-06 16:54:41

标签: python flask couchdb python-cloudant

在文档https://python-cloudant.readthedocs.io/en/latest/database.html中展示了如何创建文档和数据库,但没有展示如何创建视图

有人可以帮助我吗? 我正在使用cloudant和python(Flask)...

class TestContext(unittest.TestCase):
def setUp(self):
    self.client_couchdb = CouchDB(
        user='admin',
        auth_token='token123',
        url='https://couchbk.123',
        connect=True
    )

    self.doc_test = {
        '_id': 'julia102',
        'name': 'Julia',
        'age': 30,
        'type': 'event'
    }

    self.db = self.client_couchdb.create_database('test')
    self.db.create_document(self.doc_test)

1 个答案:

答案 0 :(得分:0)

感谢Alexis https://stackoverflow.com/users/5236185/alexis-c%C3%B4t%C3%A9

那是正确的解决方案:

https://python-cloudant.readthedocs.io/en/latest/design_document.html#cloudant.design_document.DesignDocument.add_view

那是肮脏的解决方案

    self.new_view = {
        '_id': '_design/myname',
        '_rev': 'rev-code',
        'views': {
            'by_client': {
                'map': '''function (doc) {\nif(
                    doc.type === "myname" && doc.client_id
                ){\nemit(doc.client_id);\n}\n}
            '''
            }
        },
        'language': 'javascript'
    }

    # create new view like a doc
    self.db.create_document(self.new_view)