2016-11-14 11 views
0

У меня есть миллион документов, которые мне нужно преобразовать. Каждый документ выглядит следующим образом:свойство couchdb doc на основе существующей недвижимости: массовое обновление

{ 
    "_id": "00082786797c0a31ab8b5e67fb0000dc", 
    "_rev": "3-d67692b1c94b936ae913bf7ea4896bed", 
    "type": "Feature", 
    "properties": { 
    "timestamp": "2015-08-03 21:26:48.000", 
    "status": "on", 
    "avstatus": null, 
    "speed": "38", 
    "MS_DATE_TI": 1438576728000, 
    "STR_DATE_T": "1438576728000" 
    }, 
    "geometry": { 
    "type": "Point", 
    "coordinates": [ 
     -8784866.197274148, 
     4296254.156268783 
    ] 
    } 
} 

Я пытаюсь создать новое свойство основано на свойстве «MS_DATE_TI» для каждой записи. Каков наилучший способ сделать это?

благодарив, Тайлер

ответ

0

Thanks Alexis Côté. Я в конечном итоге используя некоторые из моих навыков питона (у меня нет PouchDB навыков (пока)) :)

вот что я сделал:

Load питона CouchDB библиотека: https://pypi.python.org/pypi/CouchDB

перечитал документы: http://pythonhosted.org/CouchDB/

написать небольшой скрипт

import couchdb 
couch = couchdb.Server() 
db = couch['avl_multi_doc'] 
for id in db: 
    doc = db[id] 
    print doc['properties']['MS_DATE_TI'] 
    doc['time'] = doc['properties']['MS_DATE_TI'] 
    db[doc.id] = doc 

Щелкните г un и go смотреть Matlock

0

Либо построить небольшой скрипт в Python или использовать PouchDB прямо в вашем браузере.

Вот как выглядит код.

var n; //The number of documents to get for every bulkget. Use it as a limit 
var lastKey; //The key used as startkey_docid parameter 

while(true){ 
    //AllDocs to get N documents starting from lastkey 
    //Update the documents locally by doing a loop 
    //Send the updates to the server 
    //If response.rows < limit, you probably have updated all the lines so break the loop 
}