关于database基本命令
- 查看当前数据库: db
- 查看所有数据库: show dbs / show databases
- 切换数据库: use db_name
- 删除当前数据库: db.dropDatabase()
关于collection基础命令
- 向不存在集合第一次插入数据, 集合会被创建
- 手动创建集合
-
db.createCollection(name,options)
db.createCollection("stu")
db.createCollection("stu",{capped:true,size:10})
- 参数capped: 默认值为 false,表示不设置上限,值为true表示设置上限
- 参数size:当capped为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节
- 查看集合:show collections
- 删除集合: db.集合名.drop()
-
数据类型
- ObjectId:文档ID
- String:字符串,最常用,必须是有效的UTF-8
- Boolean:true或false
- Integer:整数可以是32位或64位,这取决于服务器
- Double:浮点数
- Arrays:数组或列表,多个值存储到一个键
- Object:用于镶嵌式的文档,即一个值为一个文档
- Null:存储Null值
- Timestamp:时间戳,表示从1970-1-1到现在的总秒数
- Date:存储当前时间或时间的UNIX时间格式
注意 (_id)
- 创建日期语句如下:参考格式为YYYY-MM—DD new Date(“2021-01-07”)
- 每一个文档都有一个属性,_id, 保证每一个文档的唯一性
- 可以自己设置 _id 插入文档, 如果没有提供,那么MongoDB会为每一个文档提供一个独特的 _id, 类型为ObjectId
- ObjectID是一个12字节的十六进制数:
- 前4个字节为当前时间戳
- 加下来3个字节为机器ID
- 接下来2个字节为MongoDB服务进程id
- 最后三个字节是最简单的增量值
- ObjectID是一个12字节的十六进制数:
插入数据
-
db.集合名称.insert(document)
db.stu.insert({name:"zhangsan",gender:1})
db.stu.insert({_id:"20210107",name:"zhangsan",gender:1})
- 插入文档时, 如果不指定 _id 参数, MongoDB会为文档分配一个唯一的ObjectID
-
db.集合名称.save(document)
- 如果文档 _id 已经存在则修改, 如果文档的 _id 不存在则添加
简单查询
- db.集合名称.find()
更新数据
-
db.集合名称.update(,,{multi:})
-
参数 query:查询条件
-
参数 update:更新操作符
-
参数 multi:可选,默认值 false,表示更新找到的第一条记录;值为 true 表示把满足条件的文档全部更新
- 示例:
- 更新一条数据:
db.stu.update({name:'oldName'},{name:;newName'})
- 更新一条数据:
db.stu.update({name:'oldName'},{$set:{name:'newName'}})
- 更新一条数据:
- 示例: