2.Mongodb常用的命令

复制代码
show dbs : 显示当前数据库列表
show collections   : 显示当前数据库中的集合
show users  :显示用户

use  db_name : 切换数据库,和mysql中的切换数据库是一样
db.help() :里面有很多命令,可以好好研究研究

数据库相关
1.help
    db.help()
    db.集合名.help()
    db.集合名.find().help();
    rs.help();
2.切换数据库
    use  db_name 
创建数据库有两种方法:
3.查询所有数据库 show dbs; 4.删除当前使用数据库 db.dropDatabase(); 5.查看当前使用的数据库 db.getName(); 6.显示当前db状态 db.stats(); 7.显示当前db版本 db.version() 8.查看当前db的连接机器地址 db.getMongo(); collectoin(集合相关) 1.得到指定名称的聚集集合 db.getCollection("collecton_name") 2.得到当前db的所有聚集集合 db.getCollectionNames(); 3. 显示当前db所有聚集索引的状态 db.printCollectionStats(); 用户相关 1.添加一个用户 db.addUser("name"); db.addUser("Username","pwd123",true); 添加用户、设置密码、是否只读 2.数据库认证、安全模式 db.auth("username","123123") 3.显示当前所有用户 db.users; 4.删除用户 db.removeUser("username"); 查看聚集集合基本信息 1.查看当前集合的数据条数 db.集合名.count() 2.查看数据空间大小 db.集合名.dataSize(); 3.查看当前聚集集合的状态 db.集合名.stats(); 4.查看当前聚集集合所在的db db.集合名.getDB(); 5.查看聚集集合存储总大小 db.集合名.totalSize(); 6.查看聚集集合存储空间大小 db.userinfo.storageSize(); 7.shard版本信息 db.userinfo.getShardVersion() 8.删除当前聚集集合 db.userinfo.drop();
复制代码
复制代码
聚集集合查询
1.查询所有记录
   db.集合名.find();  相当于select * from 集合名;
   默认每页显示20条记录,当显示不下的情况时,可以用it迭代命令查询下一页数据。

2.查询去掉后的当前聚集中的某列的重复数据
   db.集合名.distinct("name"); 相当于select distinct name from userinfo;

3.查询age=22的记录
   db.userinfo.find({"age":22});  相当于:select * from 集合名 where age=22;

4.查询age>22的记录
    db.userinfo.find({age:{$gt:22}}); 相当于select * from userinfo where age>22;
5.查询age<22的记录
    db.userinfo.find({age:{$lt:22}}); 相当于select * from userinfo where age<22;
6.查询age>=25的记录
    db.userinfo.find({age:{$gte:25}}) 相当于select * from userinfo where age>=25;
7. 查询age<=25的记录
    db.userinfo.find({"age":{$lte:25}});
8.查询age>=23并且age<=26
    db.userinfo.find({age:{$gte:23,$ite:26}});

9.查询name中包含mongo的数据
  db.userinfo.find({name:/mongo/});
  //相当于%% select * from userinfo where name like %mongo%;

10.查询name以mongo开头的
   db.userinfo.find({name:/^mongo/}); select * from userinfo where name like 'mongo%';
11.查询指定列name,age数据
   db.userinfo.find({},{name:1,age:1});
   相当于:select name,age from userinfo;
   这里也可以用用true或false,当用ture的情况下和name:1效果一样,如果用false就是排除name,显示name以外的列信息。

12.查询指定列name、age数据,age>25
    db.userinfo.find({age:{$gt:25}},{name:1,age:1})
    相当于:select name,age from userinfo where age>25;
13.按照年龄排序
     升序:db.userinfo.find().sort({age:1});
     降序:db.userinfo.find().sort({age:-1});

14.查询name=’zhangshan',age=22的数据
     db.userinfo.find({name:'zhangshan',age:22});
     相当于:select * from userinfo wehre name='zhangshan' and age='22';
15.查看前5条数据
     db.userinfo.find().limit(5);
     相当于:select top 5 * from userinfo;
16.查看10条以后的数据
    db.userinfo.find().skip(10);

17.查看在5-10之间的数据
     db.userinfo.find().limit(10).skip(5);  可用于分页,limit 是pagesize,skip是第几页
18 or与查询
     db.userinfo.findOne();
     相当于:db.userinfo.find().limit(1);
19.查询某个结果集哦记录条数
     db.userinfo.find({age:{$gte:25}}).count();
     相当于:select count(*) from userinfo where age>=20;
     如果要返回限制之后的记录数量,要使用count(true)或者count(非00
    db.users.find().skip(10).limit(5).count(true);

21.创建索引
   db.userinfo.ensureIndex({name:1});
   db.userinfo.ensureIndex({name:1,ts:-1})
复制代码
复制代码
索引篇
1.查询当前聚集集合所有索引
   db.userinfo.getIndexes();
2.查看总索引记录大小
   db.userinfo.totallindexSize(0;
3.读取当前集合的所有index信息
    db.users.relndex();
4.删除指定索引
    db.users.dropindex("name_1");
6.删除所有索引
   db.users.dropindexes();
复制代码
复制代码
1.添加
db.users.save({name:'zhangshan',age:25,sex:true})

2.修改
db.collection.update(criteria,objNew,upsert,multi)
criteria:update的查询条件,类似sql update查询内where后面的
objNew:upate的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert:如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入
multi:mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

db.user.update({age:25},{$set:{name:'changename'}},false,true);
相当于:update users set name='changName' where age=25;

db.users.update({name:'list},{$inc:{age:50}},false,true);
相当于:update users set age=age + 50 where name='list';

db.users.update({name:'list'},{$inc:{age:50},$set:{name:'hoho'}},false,true);
相当于:update users set age=age+50,name='hoho' where name='list';

3.删除
db.users.remove({age:132});

4.查询修改删除
db.users.findAndModify({
     query:{age:{$gte:25}},
     sort:{age:-1},
     update:{$set:{name:'a2'},$inc:{age:2}},
     remove : true

});
复制代码
连接:mongo --username root  --password 123456 --host 10.10.10.10 --port 27017 --authenticationDatabase admin <<EOF

posted on   太白金星有点烦  阅读(108)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示