Skip to content

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,也就是说它本质上是一个NoSQL数据库

它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

管理逻辑库

逻辑库相当于MySQL的数据库。

  • 创建/切换逻辑库:use test
  • 查看逻辑库:show dbs
  • 删除逻辑库:db.dropDatabase()

管理集合

集合相当于MySQL的表。

  • 创建集合:db.createCollection("集合名")
  • 查看集合列表:show collections
  • 删除集合:db.集合.drop()
  • 查看集合中记录数量:db.集合.count()
  • 查看数据空间容量:db.集合.dataSize()
  • 重命名集合:db.集合.renameCollection("")

添加记录:

javascript
db.student.save([
    {name:"zhangsan",age:19},
    {name:"lisi",age:20},
    {name:"王昭",age:20},
])

MongoDB中的主键

在集合中,文档之间都是松散,没有统一的字段约束。为了标识文档的唯一性,MongoDB为每个文档都添加了主键字段( id)。

这个主键中包含着添加的时间戳,MongoDB存储日期都会自动转换成格林尼治时间,ObjectID字段并包含了时间戳,可以提取出记录保存的时间。

javascript
ObjectId("63b94be24f1471e8e49de408").getTimestamp()  // 返回:ISODate("2023-01-07T10:39:30Z")