设为首页 收藏本站
查看: 743|回复: 0

[经验分享] MongoDB数据库操作和程序基础文档

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-7 12:06:51 | 显示全部楼层 |阅读模式
转自:
http://blog.iyunv.com/xto/archive/2010/03/22/5403855.aspx  

  
数据库常用操作命令
  Bin\mongod run 启动数据库服务端。
  bin\mongod.exe --dbpath d:\data\mongo 启动数据库服务端并且将数据库目录设定在该地址下。
  run 直接启动。例:./mongod run
--dbpath 指定特定存储目录启动,若目录不存在则创建。例:./mongod --dbpath /var/data/mongo
--port 指定端口启动。例:./mongod --port 12345
  bin\mongon.exe 启动数据库客户端用命令行操作。
停止MONGO服务:
方法1:服务端停止,可使用Ctrl+C
方法2:在客户端停止,可先连接客户端
./mongo
并使用命令
db.shutdownerver()
然后退出客户端
exit

  
  启动bin\mongodump.exe可以自动备份数据
  bin/mongorestore.exe恢复一个mongo的dump备份数据
  bin/mongoexport 导出一个数据表数据为(json,csv)格式
  bin/mongoimportjson 将json格式的数据导入数据表表
  bin/mongofiles  gridfs文件操作
注意事项
  关闭web服务器操作系统之前必须先备份mongodb,然后关闭mongodb服务,在关闭或者重新启动操作系统。
  根据网上资料有人曾说直接关闭操作系统会导致mongodb缓存数据没有被写入硬盘。
  要经常性的观察mongodb数据总存储的大小,避免数据过大造成写入困难导致的数据丢失情况。
.Net开发帮助说明
开发类库
  MongoDB.Driver0.8.1
  该版本仍然处于dbug状态,但好在代码比较简单,因此希望在此基础上构建适合自身操作的驱动层。
数据库连接
Mongo mg = new Mongo(“localhost”,27087);//声明数据库操作类



  bool result=mg.Connect();//打开连接
  Database db = mg.getDB("db");//打开db数据库
  IMongoCollection col=db.GetCollection("table");//打开db数据库中的table表
  mg.Disconnect();//关闭连接
新增数据
Mongo mg = new Mongo(“localhost”,27087);//声明数据库操作类



  bool result=mg.Connect();//打开连接
  Database db = mg.getDB("db");//打开db数据库
  IMongoCollection col=db.GetCollection("table");//打开db数据库中的table表
Document doc = new Document();//声明数据类型

doc["name"] = "xto";//赋值

doc["login"] = "test";//赋值

  col.Insert(doc);//插入数据
  mg.Disconnect();//关闭连接
  
修改数据
Mongo mg = new Mongo(“localhost”,27087);//声明数据库操作类



  bool result=mg.Connect();//打开连接
  Database db = mg.getDB("db");//打开db数据库
  IMongoCollection col=db.GetCollection("table");//打开db数据库中的table表
Document query=new Document();//声明查询条件对象

query.Add("id",1);//查询条件对象赋值

Document newdata = new Document();//声明修改对象

newdata.Add("name","222");//修改对象赋值

  col.UpdateAll(newdata,query,true);//更新数据
  mg.Disconnect();//关闭连接
简单查询
Mongo mg = new Mongo(“localhost”,27087);//声明数据库操作类



  bool result=mg.Connect();//打开连接
  Database db = mg.getDB("db");//打开db数据库
  IMongoCollection col=db.GetCollection("table");//打开db数据库中的table表
Document query=new Document();//声明查询条件对象

query.Add("id",1);//查询条件对象赋值

ICursor cur = col.FindAll();//查询指针

foreach (Document docx in cur.Documents)

{

Response.Write(docx["id"]+"");

}

  mg.Disconnect();//关闭连接
分页查询
Mongo mg = new Mongo(“localhost”,27087);//声明数据库操作类



  bool result=mg.Connect();//打开连接
  Database db = mg.getDB("db");//打开db数据库
  IMongoCollection col=db.GetCollection("table");//打开db数据库中的table表
Document query = new Document();//声明查询条件对象

Document where = new Document();//声明逻辑条件对象

where.Add("$gt",1);//逻辑条件对象赋值;含义:>1

query.Add("id",where);

  ICursor cur = col.Find(query).Skip(10).Limit(100);//从第10条记录开始查询每页显示100条
foreach (Document docx in cur.Documents)

{

Response.Write(docx["id"]+"");

}

  mg.Disconnect();//关闭连接
  
复杂查询
Mongo mg = new Mongo(“localhost”,27087);//声明数据库操作类



  bool result=mg.Connect();//打开连接
  Database db = mg.getDB("db");//打开db数据库
  IMongoCollection col=db.GetCollection("table");//打开db数据库中的table表
Document query = new Document();//声明查询条件对象

Document where = new Document();//声明逻辑条件对象

where.Add("$gt",1);//逻辑条件对象赋值;含义:>1

query.Add("id",where);

  ICursor cur = col.Find(query);
foreach (Document docx in cur.Documents)

{

Response.Write(docx["id"]+"");

}

  mg.Disconnect();//关闭连接
  
索引创建
Mongo mg = new Mongo(“localhost”,27087);//声明数据库操作类



  bool result=mg.Connect();//打开连接
  Database db = mg.getDB("db");//打开db数据库
  IMongoCollection col=db.GetCollection("table");//打开db数据库中的table表
Document index = new Document();//创建索引对象

index["id"] = 1;//索引对象赋值

  col.MetaData.CreateIndex(index,true);//创建索引
  mg.Disconnect();//关闭连接
删除数据
Mongo mg = new Mongo(“localhost”,27087);//声明数据库操作类



  bool result=mg.Connect();//打开连接
  Database db = mg.getDB("db");//打开db数据库
  IMongoCollection col=db.GetCollection("table");//打开db数据库中的table表
Document query = new Document();//创建删除条件对象

query.Add("id", 1);//条件对象赋值

  col.Delete(query,true);//删除满足查询条件的记录
  mg.Disconnect();//关闭连接

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-84103-1-1.html 上篇帖子: mongoDB之监控工具mongostat 下篇帖子: MongoDB的江湖传说
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表