mongodb基本操作和增删改查
基本命令
1.连接数据库
//本地数据库
mongo
//远程数据库
mongo 127.0.0.1:27017
2.查看所有表
show dbs
3.创建表
//先use到表
use itying
//然后插入数据就会自动创建表
db.表名.insert({"name":"zhangsan"});
4.查看数据中有哪些表
show collections
5.查询表下的所有数据
db.表名.find();
相当于:
select * from userInfo;
6.删除数据库,先use到数据库然后删除,这里使用shop库做演示
use shop
db.dropDatabase()
7.删除集合(表)
db.表名.drop()
查找命令
以下使用数据表名为user
//查找全部
db.user.find();
//查找age等于20的
db.user.find({"age":20});
//查找age大于20的
db.user.find({"age":{$gt:20}});
//查找age小于20的
db.user.find({"age":{$lt:20}});
//age大于等于24的
db.user.find({"age":{$gte:24}});
//小于等于24
db.user.find({"age":{$lte:24}});
//查找name等于zhangsan,age等于20
db.user.find({"age":20,"name":"zhangsan"});
//查询 age >= 23 并且 age <= 26
db.userInfo.find({age: {$gte: 23, $lte: 26}});
//查找name中包含zhang的shuju
db.user.find({"name":/zhang/});
//上面的写法很像正则,没错经过测试`/正则/`就是正则表达式
//查找名字中有数字的用户
db.user.find({"name":/\d/});
//下面查找一下以zhang开头的数据,懂正则的人应该都清楚吧
db.user.find({"name":/^zhang/})
//查询指定的列name,age
db.user.find({},{"name":1,"age":1})
//或者
db.user.find({},{"name":true,"age":true})
//按照年龄排序 1 升序 -1 降序
升序:
db.user.find({}).sort({"age":1})
降序:
db.user.find({}).sort({"age":-1})
//查询前五条数据
db.user.find().limit(5)
//查询5条以后的数据
db.user.find().skip(5)
//查询5-8之间的数据
db.user.find().limit(8).skip(5)
//每页2条数据查找第三页的
db.user.find().skip(0).limit(2)
db.user.find().skip(2).limit(2)
db.user.find().skip(4).limit(2)
//or 查询,或者的意思,查询age等于22或者age等于25
db.user.find({$or:[{age:25},{age:22}]});
//查询第一条数据
db.user.findOne()
//查询条数
db.user.find().count()
修改数据
以下继续使用user集合
1.将wangwu改成wangwu666,第一个参数是条件,第二个参数中的$set是修改内容
db.user.update({"name":"wangwu"},{$set:{"name":"wangwu666"}})
2.将name为zhaosi的name改成zhaosi666,age改成60
db.user.update({"name":"zhaosi"},{$set:{"age":"60","name":"zhaosi666"}})
注意:$set
中才是更新的内容,如果不写则全部更新了。也就是说不写$set
则把整条数据都替换成第二个参数。
删除数据
1.删除age为50的数据
db.user.remove({"age":50})
2.删除name为wangmazi,age为25的数据
db.user.remove({"name":"wangmazi","age":25})
3.有多条数据时我只删除一条。如有多个wangmazi,我值删除第一个,这时候就需要使用justOne
db.user.remove({"name":"wangmazi"},{justOne:true})
好了,以上就是博主学习的笔记了,每个命令都是用过的哦。