Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从node.js读取gridstore中的数据_Node.js_Mongodb_Gridfs - Fatal编程技术网

无法从node.js读取gridstore中的数据

无法从node.js读取gridstore中的数据,node.js,mongodb,gridfs,Node.js,Mongodb,Gridfs,我正在GridStore中编写一个文件并将其关闭。fs.files正在保存这些数据。在尝试读取这些数据之后,mongodb给出了以下错误 { name: 'MongoError', message: 'file with id 5520db57a1233e72e786fc6 not opened for writing' } 这是我的密码 var gs = new GridStore(global.gridStoreDB , new ObjectID() , "w",{

我正在GridStore中编写一个文件并将其关闭。fs.files正在保存这些数据。在尝试读取这些数据之后,mongodb给出了以下错误

{ name: 'MongoError',  message: 'file with id 5520db57a1233e72e786fc6 not opened for writing' }
这是我的密码

var gs = new GridStore(global.gridStoreDB , new ObjectID() , "w",{
          "metadata":{
            "author": appId
           }
        });
用于将文件写入数据库

gs.open(function(err, gs){
            if(err){
                console.log("error upload file");
                deferred.reject(err);
            }else {
                console.log("this file was uploaded at "+gs.contentType+"  "+gs.length+"  "+gs.metadata);
                gs.writeFile( filePath, function(err, gs){ 
                    if(err){
                        console.log("error writing file");
                        deferred.reject(err);
                    }else{
                        gs.close(function(err, gs){
                            console.log("this file was written at "+gs.contentType+"  "+gs.length+"  "+gs.metadata);
                            gs['_url'] = global.keys.fileUrl + gs._id;
                            deferred.resolve(gs);
                        });
                    }
                });
            }

            fs.unlink(filePath, function(err){
                if (err) {
                    // Could not delete file;
                }else {
                    // file deleted from uploads
                }
            });
        });
这里我在gs2.open得到错误,从DB读取文件

var gs2 = new GridStore(global.gridStoreDB, fileId, "r");
        gs2.open(function(err, gs){
            if(err){
                console.log(err);
                deferred.reject(err);

            }else{
                gs2.read(global.gridStoreDb, ObjectID(fileId), function(err, fileData){
                    if(err){
                        console.log("Reading File " + err);
                        deferred.reject(err);
                    }else{
                        console.log("File Data : " + fileData);
                        gs2.close(function(err, result){
                            deferred.resolve(fileData);
                        });
                    }
                });
            }
        });

你解决了这个问题吗?我在使用类似的代码时遇到了同样的问题