MongoDB GridFs with C#

using System; 
using
System.Collections.Generic; 
using
System.Linq; 
using
System.Text; 
using
MongoDB.Driver; 
using
MongoDB.Driver.Linq; 
using
MongoDB.Bson; 
using
MongoDB.Driver.Builders; 
using
MongoDB.Driver.GridFS; 
using
System.IO; 
 
namespace
ConsoleApplication1 
{ 
class Program 
{ 
   
static void Main(string[] args) 
   
{ 
 
       
MongoServer ms = MongoServer.Create(); 
       
string _dbName = "docs"; 
 
       
MongoDatabase md = ms.GetDatabase(_dbName); 
       
if (!md.CollectionExists(_dbName)) 
       
{ 
            md
.CreateCollection(_dbName); 
       
} 
 
       
MongoCollection<Doc> _documents = md.GetCollection<Doc>(_dbName); 
        _documents
.RemoveAll(); 
       
//add file to GridFS 
 
       
MongoGridFS gfs = new MongoGridFS(md); 
       
MongoGridFSFileInfo gfsi = gfs.Upload(@"c:\mongodb.rtf"); 
        _documents
.Insert(new Doc() 
       
{ 
           
DocId = gfsi.Id.AsObjectId, 
           
DocName = @"c:\foo.rtf" 
       
} 
       
); 
 
       
foreach (Doc item in _documents.FindAll()) 
       
{ 
 
           
ObjectId _documentid = new ObjectId(item.DocId.ToString()); 
           
MongoGridFSFileInfo _fileInfo = md.GridFS.FindOne(Query.EQ("_id", _documentid)); 
            gfs
.Download(item.DocName, _fileInfo); 
           
Console.WriteLine("Downloaded {0}", item.DocName); 
           
Console.WriteLine("DocName {0} dowloaded", item.DocName); 
 
       
} 
 
 
 
       
Console.ReadKey(); 
   
} 
} 
 


class Doc 
{ 
   
public ObjectId Id { get; set; } 
   
public string DocName { get; set; } 
   
public ObjectId DocId { get; set; } 
 
 
} 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值