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

Modify and delete document in Cloudant IBM Database

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

我假设提问者正在寻找与 SQL 等效的功能:

UPDATE db SET x = 10 WHERE y > 100;

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

可以通过组合对 Cloudant Query API and making updates using the bulk API.

的调用来实现 UPDATE 语句的等价物

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

要删除文档,您必须知道文档_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()