Javascript 如何在Node js中检查/使用md5哈希到请求流?

Javascript 如何在Node js中检查/使用md5哈希到请求流?,javascript,node.js,Javascript,Node.js,我只是将请求流直接通过管道传输到gridfs写入流,然后使用mongo gridfs将其直接存储在mongo数据库中,这就是它在数据库中使用md5哈希等的外观。现在我想将副本存储到数据库中,因此我的想法是将数据库中已添加数据的md5与来自数据库的新数据进行比较请求流,现在我如何对请求流使用md5哈希,以便与现有的请求流进行比较 下载文件和获取流的代码 您可以尝试在GridFS存储器的自动生成字段上创建一个。这样它会自动拒绝重复项。我们如何创建索引?对于类似这样的方法似乎不清楚:db.fs.fil

我只是将请求流直接通过管道传输到gridfs写入流,然后使用mongo gridfs将其直接存储在mongo数据库中,这就是它在数据库中使用md5哈希等的外观。现在我想将副本存储到数据库中,因此我的想法是将数据库中已添加数据的md5与来自数据库的新数据进行比较请求流,现在我如何对请求流使用md5哈希,以便与现有的请求流进行比较

下载文件和获取流的代码
您可以尝试在
GridFS
存储器的自动生成字段上创建一个。这样它会自动拒绝重复项。

我们如何创建索引?对于类似这样的方法似乎不清楚:
db.fs.files.createIndex({md5:1})在request.get(url).on('error',function(err){console.log(err)}).pipe(fileStorage).on('close',callback)之后;你能做到吗?你必须在做其他事情之前先做
var download = function (url, dest, filename callback) {

   const file = filename
    const fileStorage = gfs.createWriteStream({ filename: file});

    request.get(url)
        .on('error', function (err) { console.log(err) })
        .pipe(fileStorage)
        .on('close', callback);

};

final_list.forEach(function (str) {
    var filename = str.split('/').pop();

    console.log('Downloading ' + filename);

    download(str, filename, function () { console.log('Finished Downloading' + "" + filename) });
});