MongoDB数据库基础教程

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

  MongoDB 中,一个数据库包含多个集合,类似于MySql中一个数据库包含多个表;一个集合包含多个文档,类似于MySql中一个表包含多条数据。

 启动MongoDB服务,因为mongoDB并不随系统一起启动,可能以下命令运行后会等一小段的时间才会启动完毕。进入MongoDB命令行操作界面(可能会出现connect failed,多试几次就行),在命令行中敲exit可以退出

启动MongoDB服务

sudo service mongodb start #开启服务

进入MongoDB数据库

mongo #进入数据库

  1. 一个mongoDB可以创建多个数据库
  2. 使用show dbs可以查看所有数据库的列表
  3. 执行db命令则可以查看当前数据库对象或者集合
  4. 运行use命令可以连接到指定的数据库

mongo #进入数据库
use test #选择test数据库,注意创建数据库是数据库名称中不能有空格、点号、$等等。


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

{"company":"JD"}

{
   "name": "Tom Hanks",
   "contact": "987654321",
   "dob": "01-01-1991"
}#user文档

{
   "building": "22 A, Indiana Apt",
   "pincode": 123456,
   "city": "chengdu",
   "state": "sichuan"
}#address文档

{
   "name": "Tom Hanks",
   "contact": "987654321",
   "dob": "01-01-1991",
   "address":
   [{
   "building": "22 A, Indiana Apt",
   "pincode": 123456,
   "city": "chengdu",
   "state": "sichuan"
    },
    {
    "building": "170 A, Acropolis Apt",
    "pincode": 456789,
    "city": "beijing",
    "state": "beijing"
    }]
}#这就是嵌入式的关系

={
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin",
   "address_ids": [
      ObjectId("52ffc4a5d85242602e000000")    #对应address文档的id字段
   ]
}#这就是引用式关系

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

{"company":"JD} {"people":"man","name":"peter"}


数据库的信息存储在集合中,他们统一使用系统的命名空间:DBNAME.system.* DBNAME可用db或数据库名替代

DBNAME.system.namespaces :列出所有名字空间
DBNAME.system.indexs :列出所有索引
DBNAME.system.profile :列出数据库概要信息
DBNAME.system.users :列出访问数据库的用户
DBNAME.system.sources :列出服务器信息

数据库的创建和销毁


创建数据库

mongo #进入数据库
use deng #创建deng数据库
db #查看当前连接的数据库
show dbs #查看所有数据库

销毁数据库

mongo
use deng
db.dropDatabase() #删除数据库deng
show dbs


创建集合

use deng
db.createCollection("users") #创建users集合
show collections


销毁集合

show collections
db.users.drop() #删除集合
show collections


向集合中插入数据

use deng
db.users.insert([
 
 { name : "jam",
 email : "jam@qq.com"
 },

 { name : "tom",
 email : "tom@qq.com"
 }
 
])

use deng
db.users.save([
 { name : "jam",
 email : "jam@qq.com"
 },
 { name : "tom",
 email : "tom@qq.com"
 }
 ])

本文主要介绍了MongoDB和集合的基本操作,在mongodb中使用一种类json的bson存储数据,可以使用use创建和切换数据库,show dbs可以查看有哪些数据库,dropDatabase可以删除数据库,createCollection可以创建集合,show collections可以查看集合,insert()和save()可以插入数据。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值