使用c# 将原来的mssql 迁移 monogodb
来源:互联网 发布:淘宝店铺申诉入口 编辑:程序博客网 时间:2024/05/16 10:57
1. 去http://www.mongodb.org/downloads#development下载
2. 直接点击安装
3. 使用adiministrator打开命令窗口
4. 运行命令mongod.exe --dbpath=c:/data/db --logpath=c:/mongodb/log/logs.txt --logappend
其中 c:/data/db 是存放数据的目录,c:/mongodb/log/logs.txt是存放日志。--logappend表明日志的方式是追加
5. 下载http://www.mongovue.com/downloads/ 作为client端工具。 基本功能是免费的。
6. 连接数据库的程序
namespace Utility
{
public class MonogoDBHelp
{
public MongoDatabase getMongoDB()
{
string connectionString = "mongodb://localhost:27017";
string databasename = "NJ";
MongoClient client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase database = server.GetDatabase(databasename);
return database;
}
}
}
按照手册,mongo driver 会管理连接池,所以可以使用single模式,但是我由于第一次使用,而且同时上线人数有可能过100,所以,暂时没有使用这种模式。直接使用文档建议写了一个help.
7. 插入数据
mongo感觉是面向对象的,因此,尽管他不支持事务,但是,如果从面向对象的概念去考虑,完全可以在对象中包含对象。
在类中增加属性:public ObjectId Id { get; private set; }
单笔插入操作
MonogoDBHelp help = new MonogoDBHelp();
MongoDatabase db = help.getMongoDB();
LogBarCodeInfo log = new LogBarCodeInfo();
log.ProcessId = "test1";
MongoCollection collection = db.GetCollection<LogBarCodeInfo>("LogBarCodeInfo");
collection.Save(log);
插入集合
使用insertbatch
非常不幸,插入集合只能以key,value的形式产生BsonDocument数组才能插入。 因此,可以考虑在MonogoDBHelp增加一个传入IList,然后返回BsonDocument数组的方法。插入的效率非常不错
8. 搜索数据,考虑转换成使用Linq,
代码片段如下:
MonogoDBHelp help = new MonogoDBHelp();
MongoDatabase db = help.getMongoDB();
MongoCollection collection = db.GetCollection<IQueryable>("LogBarCodeInfo");
var query = from c in collection.AsQueryable<LogBarCodeInfo>()
where c.ModuleId == "JT130363" && c.UserNo.Equals("0995")
select c;
我采用了一个有400多万笔的document, 速度还是非常令人满意的
- 使用c# 将原来的mssql 迁移 monogodb
- MonogoDb的角色分类
- monogoDB
- 从mysql迁移到mssql的弯路
- mongoDB基础知识----搭建简单的monogoDB服务器
- 将使用Access的论坛迁移到SqLServer中
- 将使用Access的论坛迁移到SqLServer中
- MSSQL 数据库语句原来是区分大小写的啊
- MSSQL 数据库语句原来是区分大小写的啊
- [MSSQL]游标的使用
- MSSQL游标的使用
- MSSQL游标的使用
- MSSQL 事务的使用
- 酷宝默认的XML数据迁移至MSSQL数据库
- MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具
- [MSSQL]将查询结果赋值给变量时使用set与select的区别
- 使用RMAN 将 FileSystem 迁移 ASM
- Mssql merge表达式的使用
- 时光机穿梭---撤销修改
- 渐变色设置
- 遍历map的2中方式
- poj 2778 DNA Sequence (ac自动机+矩阵加速)
- 从空项目建立Window-based Application
- 使用c# 将原来的mssql 迁移 monogodb
- vs的vc++项目中出现各种类型错误LPCSTR等的解决办法
- 12166 - Equilibrium Mobile
- 子类父类的成员变量一起初始化的方法
- poj3280 dp
- EventBus使用详解(二)——EventBus使用进阶
- GVIM在Windows上也是强大的IDE
- xperf - 收集系统事件命令
- 随机数帮助类