安装
3.*版本和4.*版本安装都是一样的
Linux:mongodb数据库源码包安装(4.4.25版本)
mysql和mongodb对比
登录
mongo --port 服务端口号 --host 服务器ip
mongo --port 27017 --host 192.168.254.1
查看帮助
help
db.help
查看数据库
show dbs
show databases
进入数据库
use 数据库名称
use aaa
当我们进入的数据库不存在,他会自动创建
当库里有了集合,那么就可以用show dbs看到了
查看集合
show tables
show collections
集合相当于MySQL里的表
创建集合user,并设置键值对
db.tarro.insert({"id":1,"name":"zhangsan"})
创建一个表,名称为tarro,内容为id为1 name为zhangsan,想有多少值用,隔开,:来确定键值对
刚刚我们在aaa里,现在把集合就创建到aaa库里了
查看集合中记录的数据记录
db.tarro.find()
db.表名.find()
统计集合中的条目
db.tarro.count()
db.表名.count()
相当于表内有几行数据
查看集合状态
db.stats()
可以看到当前所在那个集合,和对象等信息
可以插入多种数据类型条目
db.tarro.insert({"id":3,"name":"jack","isadmin":true,"gender":null,"favorite":["apple","banana" ,"orange",1,2,3],"regtime":new Date()});
根据key内搜索数据
db.tarro.findOne({"id":1})
db.tarro.find({"id":1})
在tarro集合中查找id为1的一组数据
后插入的key值会覆盖先存
db.user.insert({"id":1,"id":"2"});
这样的话id为2而id=1被覆盖
db.user.insert({"id":1,"ID":"2"});
这样就不会了,数据区分大小写
key值可以为空
db.user.insert({"":"20"});
key值不可以以$开头
db.user.insert({"$id":"20"});
像这样的键值对就写不进去的
但是
特殊符号可以作为key值中
db.user.insert({"i$d":"20"});
更新集合中的内
db.tarro.update({"id":1},{$set:{ "name":"xiaohong"}});
id为1的name值被修改了
批量增加集
for(i=1;i<=1000;i++){db.tarro.insert({"id":i,"name":"haha"})};
创建1000个集
删除集合中的某条数据
db.tarro.remove({"id":1})
现在xiaohong就被删除了
查看mongodb的版本
db.version()
删除集合
db.tarro.drop()
全部都被删除了
删除当前所在的数据库
db.dropDatabase()
退出数据库
exit
或者
键盘上ctrl+D
成功退出