コレクションにファイルを追加しましたmy_collections
。
ファイルが保存されたかどうかを確認できません。
デフォルトのバケット (fs.chunk
およびfs.files
) を使用すると、以下のコードは適切に機能します
db.my_collection.files.find()
{ "_id" : ObjectId("50e03d29edfdc00d34000001"), "filename" : "hd.txt", "contentType" : "plain/text", "length" : 85, "chunkSize" : 1024, "uploadDate" : ISODate("2014-10-29T06:57:42.375Z"), "aliases" : null, "metadata" : { }, "md5" : "dc20cdc19005d04b8c36a889128170a8" }
コード:
var conn = mongoose.createConnection('localhost', 'testgridfs');
conn.once('open', function () {
var gfs = Grid(conn.db, mongoose.mongo);
var options = {
_id: '50e03d29edfdc00d34000001', // a MongoDb ObjectId
filename: 'hd.txt', // a filename
mode: 'w',
chunkSize: 1024,
content_type: 'plain/text',
root: 'my_collection',//<<<<< **if i comment it ,default collection is taken and codee works fine**
metadata: {}
}
// write (this works in both default and custom bucket case)
// var writestream = gfs.createWriteStream(options);
// fs.createReadStream('/home/pop/Downloads/hd.txt').pipe(writestream);
//chk exits or not
gfs.exist(options , function (err, found) {
if (err) return handleError(err);
found ? console.log('File exists') : console.log('File does not exist');
});
})
ファイルは表示されますがdb.my_collection.files
、コードは表示されますFile does not exist
root オプションを削除しても、同じコードが機能します。
GridFS リファレンスに記載されているように、複数のバケットを使用したいと考えています。
助言がありますか?