
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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求