MongoDB基本用法
1.使用数据库、创建数据库
use itying
如果真的想把这个数据库创建成功,那么必须插入一个数据。
数据库中不能直接插入数据,只能往集合(collections)中插入数据。下面命令表示给itying数据库的user表中插入数据。
db.user.insert({"name":"xiaoming"});
2.查看数据库
show dbs
3.显示当前的数据集合(mysql中叫表)
show collections
4.查询数据集合中的数据
db.user.find()
- 1.如果想要查询指定的数据,则这么写
db.user.find({"age": 13})
- 2.如果查询 age > 22 的记录
db.user.find({"age": {$gt: 22}});
- 3.如果查询 age < 22 的记录
db.user.find({"age": {$lt: 22}});
- 4.如果查询 age >= 25 的记录
db.user.find({"age": {$gte: 25}});
- 5.如果查询 age <= 25 的记录
db.user.find({"age": {$lte: 25}});
- 6.查询 age >= 23 并且 age <= 26
db.user.find({"age": {$gte: 23, $lte: 26}});
- 7.查询 name 中包含 mongo 的数据
db.user.find({"name": /mongo/});
- 8.查询 name 中以 mongo 开头的
db.user.find({"name": /^mongo/});
- 9.查询 name 中以 mongo 结尾的
db.user.find({"name": /mongo$/});
- 10.查询指定列 name、age 数据
db.user.find({},{"name": 1, "age": 1});
- 11.按照年龄排序 1升序 -1降序
升序:
db.user.find().sort({"age": 1});
降序:
db.user.find().sort({"age": -1});
- 12.查询 name = zhangsan, age = 22 的数据
db.user.find({"name": "zhangsan", "age": 22});
- 13.查询前 5 条数据
db.user.find().limit(5);
- 14.查询 10 条以后的数据
db.user.find().skip(10);
- 15.查询 10 条以后的数据中的前 5 条数据
db.user.find().skip(10).limit(5);
- 16.如何分页查询
第一页:1到10页
db.admin.find().limit(10)
第二页:11到20页
db.admin.find().skip(10).limit(10)
第三页:21到30页
db.admin.find().skip(20).limit(10)
…
第n页:
db.admin.find().skip((n-1)*pageSize).limit(pageSize)
- 17.or 查询
db.user.find({$or: [{"age": 22}, {"age": 25}]});
- 18.findOne 查询第一条数据
db.user.findOne();
5.删除集合,删除指定的集合 删除表
删除集合 db.COLLECTION_NAME.drop()
db.user.drop()
6.删除数据库,删除当前所在的数据库
db.dropDatabase();
7.插入数据
db.user.insert({"name":"xiaoming"});
- 如何一次给一个集合增加 100 条数据
for(var i=1; i<=100; i++){
db.admin.insert({"username": "zhangsan"+i, "age" :i})
};
- 查看这个集合中有多少条数据
db.admin.find().count()
8.修改数据
修改里面还有查询条件。你要改谁,要告诉 mongo。
查找名字叫做小明的,把年龄更改为 18 岁:
db.student.updata({"name": "小明"}, {$set: {"age": 18}});
查找数学成绩是 70,把年龄更改为 33 岁:
db.student.update({"score.shuxue": 70}, {$set: {"age": 33}});
完整替换,不出现 $set 关键字了:
db.student.update({"name": "小明"}, {"name": "大明", "age": 16});
批量更新(一次修改多条数据)
db.student.update({"sex": "男"}, {$set: {"age": 33}}, {multi: true});
9.删除数据
db.collectionNames.remove({"borough": "Manhattan"})
db.users.remove({"age": 132});
只删掉一条数据
db.restaurants.remove({"borough": "Queens"}, {justOne: true})