我正在嘗試進行查詢,但我還沒有做到。我的永久查看功能如下: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