MongoDB基础知识、命令整理
在命令行启动mongodb客户端
在已正确安装mongodb,且开启mongodb服务之后,进入mongodb安装目录下的bin目录中,并执行“./mongo”命令即可启动mongodb,启动成功如下图。
mongo命令行直接加 MongoDB服务的IP地址,就可以使用默认端口27017登陆MongoDB,进入命令行交互环境。使用exit或ctrl+c键,回车则退出交互环境。
数据库的操作命令
- show dbs /show databases:查看所有的数据库。
- use 数据库名称:切换到指定的数据库,(存在则切换至指定数据库,不存在则创建)。
- db或者db.getName():查看当前所处的数据库。
- db.dropDatabase():删除当前使用的数据库。
- db.stats():显示当前数据库状态。
- db.version():当前数据库版本。
- db.getMongo():查看当前数据库的链接机器地址(默认127.0.0.1:27017)。
- db.help():显示数据库操作命令。
- db.foo.help():显示集合操作命令(foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 )。
- db.createUser(Json数据):创建用户。
eg: db.system.users.createUser({user:"xiaoming",pwd:"123456",roles:[{role:"userAdmin",db:"test"}]})
eg: db.createUser({user:"xiaoming",pwd:"123456",roles:[{role:"userAdmin",db:"test"}]})
- db.removeUser("用户名"):删除用户
eg: db.system.users.removeUser("xiaoming")
eg: db.removeUser("xiaoming")
备注:没有集合的数据库使用show dbs查询不到,必须含有集合才能查看到。
集合的操作命令
- show collections:显示当前数据库中的集合(类似关系数据库中的表)。
- db.集合名.insert({'key':'value'}):向数据表中插入数据。
eg: db.test.insert({"name":"xiaoming"})
- db.集合名.drop():删除整个集合。
eg: db.user.drop()
- db.集合名.remove(条件):删除数据表中满足条件的所有数据。
eg: db.user.remove({"name":"xiaoming"})
- db.集合名.update({'Old_Key':'Old_Value'},{$set:{'New_Key':'New_Value'}}):修改表中的数据。
eg: db.user.update({"name":"xiaoming"},{"name":"xiaoming1","age":"32"})
- db.集合名.find({}):查询集合中的所有数据。
- db.集合名.findOne( ):查询第一个文件数据。
- db.集合名.save(document):保存或向数据表插入数据。
eg: db.test.save({"name":"xiaoming"})
- db.旧集合名.renameCollection("新集合名"):重命名数据表。
备注:当insert时,如果集合不存在则会先创建集合,在插入数据,若集合存在则直接插入相关数据。
mongodb中的数据类型
- Object ID: ⽂档ID 。
- String: 字符串, 最常⽤, 必须是有效的UTF-8 。
- Boolean: 存储⼀个布尔值,true或false 。
- Integer: 整数可以是32位或64位, 这取决于服务器 。
- Double: 存储浮点值 。
- Arrays:数组或列表, 多个值存储到⼀个键 。
- Object: ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档 。
- Null: 存储Null值 。
- Timestamp:时间戳, 表示从1970-1-1到现在的总秒数 。
- Date: 存储当前⽇期或时间的UNIX时间格式。