我正在尝试进行查询,但我还没有做到。我的永久查看功能如下:couchdb查询中元组的唯一性
function(doc) {
if('llweb_result' in doc){
for(i in doc.llweb_result){
emit(doc.llweb_result[i].llweb_result, doc);
}
}
}
取决于密钥,我筛选结果。所以,我需要这个钥匙。其次,如你所见,有一个for循环。这会在结果中产生相同的元组。不过,我也需要做这个for循环来检查一切。在这里,我只想知道如何消除相同的元组?
我正在使用couchdb-python。我的相关代码是:
result = {}
result['0'] = self.dns_db.view('llweb/llweb_filter', None, key=0, limit = amount, startkey_docid = '000000052130')
result['1'] = self.dns_db.view('llweb/llweb_filter', None, key=1, limit=amount)
result['2'] = self.dns_db.view('llweb/llweb_filter', None, key=2, limit=amount)
从键值可以看出,有三种不同类型的键。我认为我可以用[doc._id,llweb_result]扩展'关键'。我需要一个像[*,2]这样的密钥,但我不知道这是可能的。然后,使用reduce函数对它们进行分组。这肯定会起作用,但目前的问题是如何仅使用值[0,1,2]进行选择查询。
更新于12年8月16日
例如,对于CouchDB的记录的“llweb_result”属性:
"llweb_result": {
"1": {
"ip": "66.233.123.15",
"domain": "domain.com",
"llweb_result": 1
},
"0": {
"ip": "66.235.132.118",
"domain": "domain.com',
"llweb_result": 1
}
}
有一个记录只有一个域名,但疗法可能是其多个IP地址。您可以将该记录视为一个dns数据包。
我想根据llweb_result(0,1,2)对记录进行分组。我会为他们做一个选择查询(例如,我提取包含'1'的记录)。但是对于上面的例子,结果中会有两个相同的元组。
任何帮助将appriciated。
你绝对应该给一些更多的细节。请解释您尝试解决的问题。并提供一些示例文档。 – 2012-08-16 13:22:00