是否可以通过查询修改Cloudant数据库中的文档或删除?
答案 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()