无法从node.js读取gridstore中的数据
我正在GridStore中编写一个文件并将其关闭。fs.files正在保存这些数据。在尝试读取这些数据之后,mongodb给出了以下错误无法从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",{
{ 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);
});
}
});
}
});
你解决了这个问题吗?我在使用类似的代码时遇到了同样的问题