Mongodb数据库(1)

参考Mongodb官方教程

前言

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

文档:文档是mongoDB的核心,类似于SQLite数据库(关系数据库)中的每一行数据。多个键及其关联的值放在一起就是文档。在mongodb中使用一种类json的bson存储数据,bson数据可以理解为在json的基础上添加了一些json中没有的数据类型:{"name":"多了去的YangXuLei"}

{
   "name": "多了去的YangXuLei",
   "contact": "841382127",
   "dob": "1008611"
}#user文档

{
   "building": "zhongnanhai",
   "pincode": 123456,
   "city": "beijing",
   "state": "beijing"
}#address文档

集合:就是一组文档的组合,就相当于是关系数据库中的表,在mongodb中可以存储不同的文档结构的文档

文档的逻辑关系

  • 嵌入式关系:
{
   "name": "多了去的YangXuLei",
   "contact": "841382127",
   "dob": "1008611"
   "address":[{
     "building": "zhongnanhai",
     "pincode": 123456,
     "city": "beijing",
     "state": "beijing"
  }],
  {.......}
}
  • 引用关系:通过引用文档的_id字段来建立关系
{
   "contact": "841382127,
   "dob": "1008611",
   "name": "多了去的YangXuLei",
   "address_ids": [
      ObjectId("52ffc4a5d85242602e000000")    #对应address文档的id字段
   ]
}

数据库和集合操作

  • 一个mongoDB可以创建多个数据库
  • use mydb使用use命令可以创建数据库
  • show dbs 可以查看所有数据库的列表
  • db查看当前连接的数据库
  • db.dropDatabase()销毁数据库
  • db.createCollection("集合名字")创建一个集合
  • show collecitons查看创建的集合
  • db.集合名字.drop()删除集合
  • insert()和 `sava()``
    exp:
> db.users.insert([
... { name : "zhangsan",
... email : "[email protected]"
... },
... { name : "lisi",
... email : "[email protected]"
... }
... ])

区别
若新增的数据中存在主键 ,insert() 会提示错误,而save() 则更改原来的内容为新内容。
如:
已存在数据: {_id : 1, " name " : " n1 " },再次进行插入操作时,
insert({_id : 1, " name " : " n2 " }) 会报主键重复的错误提示
save({ _id : 1, " name " : " n2 " }) 会把 n1 修改为 n2 。
相同点:
若新增的数据中没有主键时,会增加一条记录。
已存在数据: { _id : 1, " name " : " n1 " },再次进行插入操作时,
insert({ " name " : " n2 " }) 插入的数据因为没有主键,所以会增加一条数据
save({ " name " : " n2 " }) 增加一条数据

元数据:数据库的信息存储在集合中,他们统一使用系统的命名空间:数据库名字(db也可以).system.*
数据库名字system.namespaces :列出所有名字空间
数据库名字.system.indexs :列出所有索引
数据库名字.system.profile :列出数据库概要信息
数据库名字system.users :列出访问数据库的用户
数据库名字system.sources :列出服务器信息

你可能感兴趣的:(Mongodb数据库(1))