修改和删除Cloudant IBM数据库中的文档

时间:2018-01-08 16:26:15

标签: database cloudant

是否可以通过查询修改Cloudant数据库中的文档或删除?

2 个答案:

答案 0 :(得分:2)

我认为提问者正在寻找与SQL相同的功能:

UPDATE db SET x = 10 WHERE y > 100;

如果这是问题,那么答案是Cloudant没有这样的功能,只有原子update操作。

可以通过将Cloudant Query API调用与使用bulk API进行更新来实现UPDATE语句的等效。

另一种选择是使用couchtato迭代器工具,该工具允许对Cloudant数据库进行批量更改。

答案 1 :(得分:0)

要删除文档,您必须知道文档 _id,如果您不知道 _id,则必须在数据库中查找文档,检索它,然后获取 _id。 要检索文档,您可以使用选择器。例如,假设您有一个包含“名称”字段的文档,您的选择器将类似于 selector = {"name": {"$eq": "你想要的名字"}} 所以对于 python 代码,你会有类似

def retrieve_db_data(db_name, selector):
    client = connect_to_db()
    db = client[db_name]

    results = db.get_query_result(selector)
    data = results.all()
    return data

在“数据”中,您将拥有 _id 那么你可以使用这样的东西来删除数据

def delete_document(db_name, doc_id):
    client = connect_to_db()
    client.connect()
    db = client[db_name]
    document = db[doc_id]
    document.delete()