Commit 81850095 authored by project's avatar project

--no commit message

--no commit message
parent 23991b67
...@@ -23,6 +23,18 @@ Reader.prototype.moveTo = function(idx){ ...@@ -23,6 +23,18 @@ Reader.prototype.moveTo = function(idx){
} }
} }
Reader.prototype.next = function(cb){
var self=this;
this.readAt(++this.cursorIdx,function(err,obj){
if(!err && obj){
cb(null,obj)
}else{
cb(err,null);
}
});
}
Reader.prototype.nextObject = function(cb){ Reader.prototype.nextObject = function(cb){
var self=this; var self=this;
......
...@@ -91,6 +91,14 @@ router.get('/:id/objects',function (req, res) { ...@@ -91,6 +91,14 @@ router.get('/:id/objects',function (req, res) {
from_seq = Number(query.seq_from); from_seq = Number(query.seq_from);
} }
var objOpt = {'meta':true,'data':true}
if(query.show == 'id'){
objOpt.meta = false;
objOpt.data = false;
}else if(query.show == 'meta'){
objOpt.data = false;
}
fs.exists(bss_full_path,function(exists){ fs.exists(bss_full_path,function(exists){
if(exists){ if(exists){
...@@ -124,7 +132,7 @@ router.get('/:id/objects',function (req, res) { ...@@ -124,7 +132,7 @@ router.get('/:id/objects',function (req, res) {
if(!obj){ if(!obj){
cont=false; cont=false;
}else{ }else{
var dataout = JSON.stringify(obj_out(obj)); var dataout = JSON.stringify(obj_out(obj,objOpt));
if(resultIdx>0){res.write(',');} if(resultIdx>0){res.write(',');}
res.write(dataout); res.write(dataout);
counter+=dataout.length; counter+=dataout.length;
...@@ -156,11 +164,15 @@ router.get('/:id/objects',function (req, res) { ...@@ -156,11 +164,15 @@ router.get('/:id/objects',function (req, res) {
}); });
function obj_out(obj){ function obj_out(obj,opt){
return {"_id" : (new ObjId(obj.header.ID)).toString(), var ret = {
"meta" : obj.meta, "_id" : (new ObjId(obj.header.ID)).toString()
"data" : obj.data
} }
if(opt.meta){ret.meta = obj.meta;}
if(opt.data){ret.data = obj.data;}
return ret
} }
......
...@@ -3,30 +3,74 @@ var async = require('async'); ...@@ -3,30 +3,74 @@ var async = require('async');
var BinStream = ctx.getLib('lib/bss/binarystream_v1_1'); var BinStream = ctx.getLib('lib/bss/binarystream_v1_1');
var FNAME = "D:/testfile/gcs/file/test.bss"; var FNAME = "D:/testfile/env.bss";
// BinStream.open(FNAME,function(err,bss){
//
// var rd = bss.reader();
// var cont = true;
// var idx=0;
// async.whilst(
// function() { return cont; },
// function(callback) {
//
// rd.nextObject(function(err,obj){
// if(!obj){
// cont=false;
// }else{
// idx++;
// if(idx%100000 == 0){
// console.log(idx);
// }
// //meta = obj.meta;
// //console.log(obj.data);
// }
// callback();
// });
//
// },function(err){
// bss.close(function(err){
// console.log('close');
// });
// });
//
// });
BinStream.open(FNAME,function(err,bss){ BinStream.open(FNAME,function(err,bss){
var rd = bss.reader(); var rd = bss.reader();
var cont = true; var cont = true;
var idx=0;
var tA = (new Date()).getTime();
async.whilst( async.whilst(
function() { return cont; }, function() { return cont; },
function(callback) { function(callback) {
rd.nextObject(function(err,obj){ rd.next(function(err,obj){
if(!obj){ if(!obj){
cont=false; cont=false;
callback();
}else{ }else{
//meta = obj.meta; obj.readMeta(function(err,meta){
console.log(obj.data); idx++;
if(idx%100000 == 0){
console.log(meta);
} }
callback(); callback();
}); });
//meta = obj.meta;
//console.log(obj.data);
}
//callback();
});
},function(err){ },function(err){
bss.close(function(err){ bss.close(function(err){
var tB = (new Date()).getTime();
console.log(tB-tA);
console.log('close'); console.log('close');
}); });
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment