如何使用cloudant创建视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用cloudant创建视图相关的知识,希望对你有一定的参考价值。

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

有人能帮助我吗?我正在使用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)
答案

感谢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) {
if(
                    doc.type === "myname" && doc.client_id
                ){
emit(doc.client_id);
}
}
            '''
            }
        },
        'language': 'javascript'
    }

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

以上是关于如何使用cloudant创建视图的主要内容,如果未能解决你的问题,请参考以下文章

时间敏感的Cloudant视图并不总是返回正确的结果

如何在片段内创建自定义列表视图

如何缓存片段视图

如何使列表视图出现在片段中?

片段中的按钮自定义视图

如何在 cloudant 结果 json 中限制 _rev_info