0
12리스트를 요소로 포함하는 r
리스트가 있습니다. 각 목록에는 다른 목록과 비교되는 일부 요소 (i[0]
~ i[5]
)가 포함되어 있습니다. 고유 한 문서를 삽입하려고 했으므로 DB에 5 개의 문서를 가져와야합니다. 문서가 이미있는 경우 i[6]
및 i[7]
을 chr
에 추가하십시오. r
에CouchDB에서 문서를 업데이트하는 방법
import couchdb
# $ sudo systemctl start couchdb
# http://localhost:5984/_utils/
server = couchdb.Server()
try:
db = server.create("test")
except couchdb.http.ResourceConflict:
db = server["test"]
r = [["Test", "A", "B01", 828288, 1, 7, 'C', 5],
["Test", "A", "B01", 828288, 1, 7, 'T', 6],
["Test", "A", "B01", 171878, 3, 8, 'C', 5],
["Test", "A", "B01", 171878, 3, 8, 'T', 6],
["Test", "A", "B01", 871963, 3, 9, 'A', 5],
["Test", "A", "B01", 871963, 3, 9, 'G', 6],
["Test", "A", "B01", 1932523, 1, 10, 'T', 4],
["Test", "A", "B01", 1932523, 1, 10, 'A', 5],
["Test", "A", "B01", 1932523, 1, 10, 'X', 6],
["Test", "A", "B01", 667214, 1, 14, 'T', 4],
["Test", "A", "B01", 667214, 1, 14, 'G', 5],
["Test", "A", "B01", 667214, 1, 14, 'G', 6]]
_id = None
for i in r:
_id = str(i[5])
doc = {
'type': i[0],
'name': i[1],
'sub_name': i[2],
'pos': i[3],
's_type': i[4],
'_id': _id,
'chr':[]
}
doc['chr'].append({
"letter":i[6],
"no":i[7]
})
a = db.save(doc)
UPDATE 처음 두리스트는 동일한 필드 (i[5]
-i[0]
)을 포함한다. 두 목록에 대한 최종 문서는이를 좋아한다 :
{
"_id": "7",
"_rev": "1-bc0b4e6f3aa855a486225f4a0dcd76c8",
"sub_name": "B01",
"name": "A",
"pos": 828288,
"s_type": 1,
"chr": [
{
"letter": "C",
"no": 5
},
{
"letter": "T",
"no": 6
}
],
"type": "Test"
}
?
더 많은 정보를 제공 할 수 있습니까? – avi
위의 업데이트 섹션을 참조하십시오. 자세한 내용이 필요하면 알려주십시오. – user977828