-
Notifications
You must be signed in to change notification settings - Fork 0
ToDo
Lexas edited this page Feb 16, 2013
·
1 revision
Problemas que hay que solucionar o mejoras del código
Averiguar si hay forma de filtrar las entradas por el valor del atributo "timestamp" desde la query de arango (sin pasarle los resultados a node.js para que haga un arreglo con la entrada que buscamos). La estructura de los datos es:
{ project : "Demo1", fragments : [...], entries : { text : [ { title : "entry1", content : "...", tags : [...], timestamp : "0:00:03.00", related : ["entry2"] }, { ... } ] } }
Nota: los corchetes indican que es un arreglo, las llaves que es un objeto JSON, cada entrada es un JSON dentro de el arreglo de cada categoría.
Actualmente el filtrado se hace por medio de node.js con el siguiente algoritmo. query = db.query.for('r').in('test')
.filter('r.project == @project') .collect('time = r.fragments[@index]') .return('{"timestamp": time}'); query.exec({project: "Demo1", index: req.body.selection - 1}).then( function(data){ timestamp = data[0].timestamp;}, function(err){ console.log("err",err) } ).then(function(data){ query = db.query.for('r').in('test') .filter('r.project == @project') .collect('info = r.entries.text') .return('{"info": info}'); query.exec({project: "Demo1"}).then( function(data){ var entries = []; for(var i in data[0].info){ if(data[0].info[i].fragment == timestamp){ entries.push(data[0].info[i]); } } console.log("res", timestamp); res.send(entries); }, function(err){ console.log("err",err) } ); });
Usar cursores con AQL: http://www.arangodb.org/2013/01/31/querying-documents-and-graphs-in-one-database-with-aql-easily