null+****@clear*****
null+****@clear*****
2012年 6月 21日 (木) 17:41:29 JST
Yoji SHIDARA 2012-06-21 17:41:29 +0900 (Thu, 21 Jun 2012) New Revision: a2406bbe5800faf033a70bc775b8dbc9cb089bf1 https://github.com/groonga/gcs/commit/a2406bbe5800faf033a70bc775b8dbc9cb089bf1 Log: Cleanup select function Modified files: lib/api/2011-02-01/search.js Modified: lib/api/2011-02-01/search.js (+21 -20) =================================================================== --- lib/api/2011-02-01/search.js 2012-06-21 17:19:14 +0900 (3ac3fce) +++ lib/api/2011-02-01/search.js 2012-06-21 17:41:29 +0900 (14b4278) @@ -1,31 +1,32 @@ var Domain = require('../../domain').Domain; var Database = require('../../database').Database; +function formatSelectResults(data) { + var columnList = data[0][1]; + var columnNames = columnList.map(function(column) { + return column[0]; + }); + + var records = data[0].slice(2); + var results = records.map(function(record) { + var object = {}; + columnNames.forEach(function(columnName, index) { + object[columnName] = [record[index]]; + }); + return { + id: object._key[0], + data: object + }; + }); + return results; +} + function select(database, options, callback) { - var results = []; database.command('select', options, function(error, data) { if (error) { callback(error); } else { - var columnNames = []; - var i, j; - for (j = 0; j < data[0][1].length; j++) { - columnNames[j] = data[0][1][j][0]; - } - - for (i = 0; i < data[0].length - 2; i++) { - var row = data[0][i + 2]; - var object = {}; - for (j = 0; j < columnNames.length; j++) { - object[columnNames[j]] = [row[j]]; - } - results[i] = { - id: object._key[0], - data: object - }; - } - - callback(null, results); + callback(null, formatSelectResults(data)); } }); } -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...Download