数据库操作基本命令
- 查看当前数据库:db
- 查看所有数据库:show dbs 或者 show databases
- 切换数据库:use db_name(数据库名称)(注意:当所切换数据库不存在时,使用本命令会自动创建该数据库,后续往该数据库插入数据时,此数据库才会真正被创建)
- 删除当前数据库:db.dropDatabase() (db代表当前操作的数据库对象)
集合操作基本命令
mongodb集合的创建分为自动创建、手动创建
- 自动创建:向不存在的集合中插入数据之后自动生成集合
- 手动创建:
(1)db.createCollection(“集合名称”)
(2)db.createCollection(“集合名称”, {capped: true, size: 10})
参数capped:是否设定集合存储大小上限,默认为false不设置上限,若设置为true,则表示设置上限
参数size:当capped值为true时,需要指定此参数,表示本集合上限大小,当文档达到上限时,会将之前的数据覆盖, 单位为字节,不常用 - 查看集合:show collections
- 删除集合:db.集合名称.drop()
mongodb支持存储的数据类型
Object ID:文档ID
object ID是一个12字节的16进制数:
前四个字节为当前时间戳,
接下来三个字节为机器ID,
接下来2个字节为mongodb的服务进程id,
最后三个字节为自增变量
每个文档都有一个属性,为_id,保证每个文档的唯一性,
在往文档中插入数据时,我们可以自己去设置_id插入文档,也可以让mongodb自动为我们创建_id
String:字符串,最常用
Boolean:布尔类型,true,false
Integer:存储整数,可以是32位也可以是64位
Double:存储浮点值
Arrays:存储数组或者列表,多个值存储到一个键中
例如:
{
"_id": ObjectId("5bc45482dead0a21ac81c280"),
"team_name": "小队名称",
“temp_user_codes”: ["u123", "u456"]
"team_users": [
{
"username": "张三",
"sex": "man",
"age": 18
},
{
"username": "李四",
"sex": "woman",
"age": 26
}
]
}
Arrays 的元素可以是一个基本数据类型(上述temp_user_codes),也可以是Object文档对象类型(上述temp_uses)
Object:用于存储嵌入式文档,一个值为一个文档
{
"username": "李四",
"sex": "woman",
"age": 26,
"bank_info": {
"bank_code": "441536532362123",
"bank_name": "中国银行.."
}
}
其中,bank_info基本信息文档存储类型为Object
Null:存储Null值
Timestamp:时间戳,表示从1970-1-1到现在的总秒数
Data:存储当前日期或时间的UNIX时间格式(跟python datetime.datetime.now()格式相同)