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

[经验分享] mongodb 的服务启动和基本操作命令

[复制链接]

尚未签到

发表于 2017-12-15 07:11:07 | 显示全部楼层 |阅读模式
  由于在dos 下操作mongodb 很不方便 所以我推荐大家使用mongodb 的可视化工具robomongo  这个是robomongo的下载网址
  https://robomongo.org/download
  不过关于dos 下的操作 还是希望大家了解一下
  在操作前需要启动mongodb数据库服务
  1.首先打开dos窗口,然后选择路径到你的安装路径下的bin目录(我的路径是的D:mongo\mongodb\bin)
  2.然后输入启动命令(D:mongo\data\db 是我的数据库文件的目录前边两个 – 不能少)  mongod --dbpath D:mongo\data\db  
  3.回车dos界面出现 12701 的字样说明服务启动成功了如图所示
DSC0000.jpg

  服务启动成功后 就需要操作了。这时候我们需要再打开一个dos窗口(服务启动的窗口不要关闭)找到安装路径(我的安装路径 为 D:mongo\mongodb\bin) 执行  mongo 此时第一个dos窗口(也就是启动服务的窗口会显示)
  #1 <1 connectionnow open> 字样说明此时链接数据库成功
DSC0001.jpg

  操作数据库的dos 窗口就可以继续进行操作 ,例如查看所有数据库结果如图
DSC0002.png

  也可以创建一个bat文件,不用每次都要敲击这些命令。创建***.bat,在里面输入
  start mongod --dppath="F:\MongoDB\Server\3.2\db"
  就可以了,双击它就相当于在DOS下输入命令。
  我们在启动MySQL的时候是通过net start mysql和net stop mysql来开启和关闭的,那么是否能使用net start MongoDB和net stop MongoDB来启动和关闭呢?是可以的
  首先,目录logs和mongod.cfg,如

  mongod.cfg里面为:
  logpath=F:\MongoDB\Server\3.2\logs\mongod.log
  dbpath=F:\MongoDB\Server\3.2\db
  然后在DOS命令里输入:
  sc.exe create MongoDB binPath= "\"F:\MongoDB\Server\3.2\bin\mongod.exe\" --service --config= \"F:\MongoDB\Server\3.2\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
  回车就会看到
[sc] Create Service 成功

  这个时候就可以使用net start MongoDB和net stop MongoDB来启动跟关闭mongo服务了。
  下边是
  基本操作:显示所有数据库:show dbs  用数据库:use xxx
  创建集合 db.createCollection("集合名称",{capped:true,size:100000})
  基本步骤:
  新建数据库(db) :use student
  新建集合(Collection) db.createCollection("集合名称");
  可以新建文档:(document) document={"1":"2","3":"4"}
  查看所有数据库:show dbs;
  查看当前数据库下的所有集合:db.printCollectionStats();
三.插入操作
  可以先定义一个文档document ,后将文档插入到集合中。或者直接将输入插入到集合中。
  db.集合名称.insert(已定义的文档);
  db.集合名称.insert(数据);
  四.查询:
  db.集合名称.find();显示文档
  db.集合名称.find(where);
  查询姓名为字符类型的数据记录
  :$type操作符是基于BSON类型来检索集合中匹配的结果。
  db.集合名称.find({"name":{$type:2}});
  Double 1
  String 2
  Object 3
  Array 4
  Binary data 5

  Object>  Boolean 8
  Date 9
  Null 10
  Regular expression 11
  JavaScript code 13
  Symbol 14
  JavaScript code with scope 15
  32-bit integer 16
  Timestamp 17
  64-bit integer 18
  Min key 255
  Max key 127
  db.集合名称.find({条件}).limit(10); // 满足条件的,取10条
五.更新操作
  db.集合名称.update(where,set,未找到插入新的为true,更新多条为true);
  db.集合名称.update({"id":"1"},{"$set":{"name":"yuan","sex":"男"}},false,true);
  更新添加字段:$push
  ---db.student.update({"sno":2},{$push:{"classes":"san"}})
六.删除
  db.集合名称.remove(where);
  db.集合名称.remove();删除全部记录
  db.集合名称.drop();删除全部文档(document)
七.操作符
  (>) 大于 - $gt ---db.student.find({"sno":{"$gt":2}})
  (<) 小于 - $lt---db.student.find({"sno":{"$lt":2}})
  (>=) 大于等于 - $gte  --示例:db.student.find({"sno":{"$gte":2}});
  (<= ) 小于等于 - $lte --
八.一些操作
  db.集合名称.Count(where); ---显示满足条件的条数---db.student.count({"sno":{$type:1}});
  db.集合名称.distinct("key"); ---得到所有key的value(去掉重复的)---db.student.distinct("sno");
九.管理
  查看collection数据的大小
  db.集合名称.dataSize()
  #查看colleciont状态
  db.集合名称.stats()
  #查询所有索引的大小
  db.集合名称.totalIndexSize()
  .与SQL对照
  MongoDB
  MySQL
  查询全部
  movies.find(new Document())
  SELECT * FROM movies
  条件查询
  movies.Find(new Document { { "title", "Hello Esr" } });

  SELECT * FROM movies WHERE>  查询数量
  movies.Find(new Document { { "title", "测试2" } }).Documents.Count();
  SELECT COUNT(*) FROM movies WHERE `title` = 'foobar'
  数量范围查询
  1, movies.Find(new Document().Add("$where", new Code("this.num > 50")));
  2, movies.Find(new Document().Add("num",  new Document().Add("$gt",50)));
  ($gt : > ; $gte : >= ; $lt : < ; $lte : <= ; $ne : !=)
  3,movies.Find("this.num > 50");
  4,movies.Find(new Document().Add("$where",new Code("function(x){ return this.num > 50};")));
  select * from movies where num > 50
  分页查询
  movies.Find(new Document()).Skip(10).Limit(20);
  SELECT * FROM movies  limit 10,20
  查询排序语句
  movies.Find(new Document()).Sort(new Document() { { "num", -1 } });
  SELECT * FROM movies ORDER BY num DESC
  查询指定字段
  movies.Find(new Document().Add("num", new Document().Add("$gt", 50)), 10, 0, new Document() { { "title", 1 } });

  select>  插入语句
  movies.Insert(new Document() { { "title", "测试" }, { "resuleData", DateTime.Now } });
  INSERT INOT movies (`title`, `reauleDate`) values ('foobar',25)
  删除语句
  movies.Remove(new Document() { { "title", "Hello Esr" } });
  DELETE * FROM movies
  更新语句
  movies.Update(new Document() { { "title", "测试2" } }
  , new Document() { { "title", "测试11111" } });
  UPDATE movies SET `title` = ‘测试1111’ WHERE `title` = '测试1111'
  Linq查询
  (from item in db.GetCollection("movies").Linq()
  where ((string)item["title"]).StartsWith("Esr")
  select item);

  select * from movies where>

运维网声明 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-424237-1-1.html 上篇帖子: nodejs+express+mongodb搭建博客 下篇帖子: mongodb-help
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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