从数组javascript meteor创建缓冲区

时间:2014-08-21 16:20:56

标签: javascript meteor buffer

如何从我的集合中检索记录,然后从该集合中创建缓冲区。缓冲区将上传到其他站点:

var data = myCollection.find().fetch();
console.log('data: ' + JSON.stringify(data));   // outputs the collection as an array
var json_data = new Buffer(data);
console.log('json data: ' + JSON.stringify(json_data)); // weird buffer output

第二个日志语句输出:

json data: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] 

我也尝试过使用新的Node.js缓冲区,但这似乎不起作用:

var json_data = new Buffer(data);

1 个答案:

答案 0 :(得分:0)

您无法从任意对象创建缓冲区。当您从数组中创建缓冲区时,构造函数期望数组的每个元素都是一个描述字节值的整数。尝试转换您的集合项会产生NaN,然后将其转换为0字节值。

但是,您可以从字符串化数据中创建缓冲区:

var json_data = new Buffer(JSON.stringify(data));

要轻松检查您的数据是否已正确转换为缓冲区,请在记录之前将其再次转换为字符串:

console.log('buffer content', json_data.toString());