如何从我的集合中检索记录,然后从该集合中创建缓冲区。缓冲区将上传到其他站点:
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);
答案 0 :(得分:0)
您无法从任意对象创建缓冲区。当您从数组中创建缓冲区时,构造函数期望数组的每个元素都是一个描述字节值的整数。尝试转换您的集合项会产生NaN
,然后将其转换为0
字节值。
但是,您可以从字符串化数据中创建缓冲区:
var json_data = new Buffer(JSON.stringify(data));
要轻松检查您的数据是否已正确转换为缓冲区,请在记录之前将其再次转换为字符串:
console.log('buffer content', json_data.toString());