1、查询当前服务下的数据库
(1)查询数据库
- show dbs;
- use test;
2、查看集合
- show collections;
3、插入记录
(1)单条查询
- > j = {name:"mongo"};
- { "name" : "mongo" }
- > k = {x:3};
- { "x" : 3 }
- > db.things.save(j);
- > db.things.save(k);
- > db.things.find();
- { "_id" : ObjectId("5354c44e3d52ca8bcc50318f"), "name" : "mongo" }
- { "_id" : ObjectId("5354c4523d52ca8bcc503190"), "x" : 3 }
(a)不需要提前创建一个集合,在第一次插入数据时会自动创建。
(b)文档可以存储任意结构的数据,无需修改集合的数据结构。
(c)每次向集合中插入一文档时,都会有一个_id
(2)循环插入
使用it命令显示剩余内容
4、普通查询--使用游标
查看printjson函数
5、普通查询--使用forEach函数
6、游标当数组用
7、游标--真实的数组
8、条件查询
9、findOne查询一个
如果没有查询结果,则返回null,如下图:
10、limit限制结果集数量
11、update更新
12、删除结果集
删除所有结果集:db.things.remove();
13、条件操作符
〉、〉=、〈、〈=
14、$all匹配所有
这个不同于$in,而$all 必须满足[ ]内的所有值,下面是查不到的:
15、$exists判断字段是否存在
下面是查询存在name字段的记录:
16、NULL值处理
从上面可以看出,age为null的两条记录都查询出来了,但yy1本不存在age字段。
如何查询只有age字段的呢?是用$exists进行限制,如下:
17、$mod取模运算
$mod[n,m]:对n取模,余数为m:
18、$ne不等于
19、$in包含
20、$nin不包含
21、正则表达式
支持正则表达式,如下查询开头不等于yy1的记录:
22、javascript查询和$where查询
等价于:
以及:
以及:
23、skip限制返回记录的起点
等价于:limit(3,5)。
24、sort排序
按j升序排列
按j降序排列
25、存储过程
(1)创建
(2)查看
(3)调用
- db.eval('addOperation(1,2)');
26、save和insert的区别
现有如下数据:
insert时,会报错:
save时,存在该记录时会更新,不存在则插入,如下:
以上是简单的MongoDB的操作命令。