我看过库奇达的文档。我还看到了一些用于从数据库中删除文档的js函数,所以我尝试为couch数据库重新创建它们。在插入了一些数据(csv中为1.2gb,数据库中为12gb,我想知道为什么……)之后,我试图对数据集进行一些查询。你知道吗
一切正常。但当我试图删除特定的文档时,查询并没有按预期工作。以下是查询:
map_func = "function(doc) { if (doc['Year'] == 2015) emit(doc._id, null);}"
map_func_2 = "function(doc) { if (doc['Year'] == 2015) emit(null, doc._rev);}"
map_func_3 = "function(doc) { if (doc['Year'] == 2015) emit(doc._deleted='true',null);}"
map_func_4 = "function(doc) { if (doc['Year'] == 2015) emit(doc.deleted='true',null);}"
map_func_5 = "function(doc) { if (doc['Year'] == 2015) emit(doc.deleted=true,null);}"
map_func_6 = "function(doc) { if (doc['Year'] == 2015) emit(doc._deleted:'true',null);}"
然后我调用了每个函数并检查文档是否被删除(从map_func)。你知道吗
print "Quering for Deleting Year = 2015"
t = time.time()
db.temporary_query(map_func_3)
print float(time.time() - t)
print "Quering for Year = 2015"
t = time.time()
print len(list(db.temporary_query(map_func)))
print float(time.time() - t)
但他们中甚至没有一个真正删除或隐藏指定的文档。我还尝试了另一种方法,从python中删除。你知道吗
for doc in db.all(as_list=True):
if doc['Year'] == 2015:
db.delete(doc)
这里的问题是数据库.all()函数缓存整个数据,我得到内存溢出错误。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐