show dbs 》查询所有数据库
show collections:显示当前数据库中的集合(类似关系数据库中的表)
show users:显示用户
use dbname 》 选择某个库使用 没有库时自动创建
db.dropDatabase() 》删除当前使用的数据库
db.getName() 或 db 》查看数据库
db.stats() 》查看数据库状态
db.version() 》查看mongodb版本
db.student.find(); 》查询student表下的所有数据 相当于select* from student
db.student.find().pretty();》格式化输出的json
db.student.findOne(); 》查找表中第一条数据
db.student.find().limit(100);
db.student.find({ }).count(); 》统计当前表的数量 》相当于 select count(1) from student;
db.student.find({ }).skip(1).limit(50); 》跳过第一条查询后50条
db.userInfo.distinct("name"); 》去除出name重复的数据 相当于select distict name from userInfo;
db.student.find({"age":"6"}) 》带条件查询 查询年龄等于6岁的 相当于 select * from student where age = 6;
db.student.find({"age":{$gt:10}}) 查询大于10岁的学生 {"age":{$gt:10}}
$gt 大于 $lt 小于 $gte 大于等于 $lte 小于等于 $ne 不等于
db.student.find({"age":{$gt:10,$lt:30}}) 》年龄范围查询 查询大于10小于30岁的学生
db.student.find({"name":"zhangsan","age":6}); 》多条件查询 名字叫zhangsan年龄6岁的学生
db.student.find({$or:[{"age":6},{"name":"lsi"}]}); 》or 查询 相当于 select * from student where age =6 or name = 'lsi';
db.student.find({"name":/s/}) 》模糊查询 查询名字中带有s的人 相当于 select * from student where name like '%s%'; // 相当于 %%
db.student.find({"name":/^zhang/}) 》查看姓zhang的学生 相当于 select * from student where name like 'zhang%'; ^标识一什么开头 相当于js正则中的用法
db.student.find({"name":/san$/}) 》查询名字san结尾的学生 相当于 select * from student where name like '%san'; $相当于 js正则中的用法
db.student.find().sort({"age":1}); 》按照年龄正着排序 相当于 select * from student order by age asc;
db.student.find().sort({"age":-1}); 》按照年龄倒着排序 相当于 select * from student order by age desc;
db.student.ensureIndex({"name":1});》 创建索引
db.student.totalIndexSize(); 》查看总索引记录大小
db.student.getIndexes(); 》查询当前聚集集合所有索引
修改
db.collection.update(criteria, objNew, upsert, multi )
criteria:update的查询条件,类似sql update查询内where后面的
objNew:update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的。
upsert : 如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
db.student.update({"age":6},{$set:{"name":"zhaoliu"}},false,true); 相当于 update student set name='zhaoliu' where age = 6;
db.student.update({"age":6},{$inc:{"age":10}},false,true); 相当于 update student set age = age+10 where age = 6;
删除
db.student.remove({age:26}) 删除年龄等于26的学生信息 相当于 delete student where age = 26
增加列
db.student.update({},{$set:{score:0}},true,true)
删除列
db.student.update({},{$unset:{score:0}},true,true)
mongodb启动命令
./mongod --dbpath=数据存储地址 --logpath=日志存储地址