Web 前端开发 让前端飞

02_MongoDB数据操作

2017-11-22  本文已影响0人  pzmpzm

cls 清屏

首先打开cmd中 首先打上 mongo

1、show dbs 查看所有数据库

2、show collections 查看所有的表

3、use pzm 创建数据库,当存在时use 进入这个数据库

创建数据库的时候 必须同时创建表

4、数据库中不能直接插入数据,只能往集合(collections)中插入数据。不需要创建集合,只需要写点语法: 因为数据库无user,则系统自动把它设置为集合

db.user.insert({"name":pzm,"age":20}) // 插入表(集合)和数据

5、删除数据库 db.dropDatabase();

查找数据:

1、查询所有记录 (userInfo)为表名

db.userInfo.find(); 相当于 select*from userInfo

2、查询去掉后的当前聚集集合中的某列的重复数据

db.userInfo.distinct("name")

会过滤掉 name中相同的数据

相当于 select distinct name from userInfo

3、查询 age = 22 的记录

db.userInfo.find({"age":22});

相当于 select* from userInfo 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 userIndfo where age > = 25

7、 age < = 25 同上 $lte:25

8、 查询 age > 23 并且 age < =26

db.userInfo.find({"age": { $gte : 23, $lte : 26} });

9、模糊查询 name中有pzm的数据 /  /

db.userInfo.find({ "name": /pzm/})

相当于 %%

select * from userInfo where name like '%pzm%';

10、查询name中以 pzm 开头的

db.userInfo.find("name" : /^pzm/)

同 select *from userInfo where name 'pzm%';

11、 结尾  /pzm$/

12、查询 指定列 name 、age ()

db.userInfo.find({},{ "name": 1 })  // 只会显示name这列,不会显示age的数据

select name  from userInfo ;

db.userInfo.find({},{"name":1,"age":1}) //只会显示 name 和age 的数据

select name,age from userInfo;

13、查询指定列 name,age 并且 age >=25(注意大括号的范围)

db.userInfo.find({" age" : { $gte : 25}},{"name":1,"age":1})

select name,age from userInfo where age >= 25;

14、按年龄排序 升序sort({"age":1}) 降序sort({"age":-1})

db.userInfo.find().sort({"age":1})

15、 查询 name = pzm ,age =18的数据

db.userInfo.find({"name": "pzm","age" : 18});

同: select * from userInfo where name = "pzm"  and age = "18";

16、 查询前五条数据

db.userInfo.find().limit(5);

同: selecttop 5 *from userInfo

17、 查询10条以后的数据

db.userInfp.find().skip(10);

select * from userInfo where id not in(selecttop 10*from userInfo);

18、

db.userInfo.limit(5).skip(5);

第一页:db.userinfo.find().limit(5).skip(0)

第二页:db.userinfo.find().limit(5).skip(5)

第三页:db.userinfo.find().limit(5).skip(10)

ok,实际上limit就是pageSize,skip则是忽略前多少条

db.userInfo.find().limit(pageSize).skip((pageNum -1)*pageSize)

误区:别以为limit表示查询多少条就把第二页写成

db.userinfo.find().limit(10).skip(5) --我要查询10条忽略前五条那不就是第二页了吗,大错特错。实际上是先忽略后,再查询多少条,跟Mongodb自身函数优先级有关吧。

19、 查询第一条数据

db.userInfo.findOne();

selecttop 1 * from userInfo;

db.userInfo.find().limit(1);

20、查询某个结果集的数量

db.userInfo.find({"age" : 24}).count();

select count(*) from userInfo where age >= 20;

修改数据:

1、查找名字叫做小明的,把年龄更改为16岁:

db.userInfo.update({"name":"小明"},{$set:{"age":18}})

上一篇下一篇

猜你喜欢

热点阅读