1、介绍:

MongoDB的数据模型是面向文档的(类似于JSON的结构),简单的理解MongoDB数据库中存储的是各种各样的JSON(BSON 二进制的JSON)



2、MongoDB的安装

(1)默认安装路径C:\Program Files\MongoDB\Server\3.6\

(2)配置环境变量path,将“C:\Program Files\MongoDB\Server\3.6\bin”添加到path路径

(3)在C盘根目录创建一个文件夹data,在data中创建一个文件夹叫db   【其中db为默认的数据库的目录,之后创建的数据库的信息都会存放到该db目录下】

(4)打开cmd命令行窗口,输入mongod 启动mongodb服务器

显示:

MongoDB的数据库目录 mongodb数据库文件在哪_MongoDB的数据库目录


表示服务器启动成功!(最小化该窗口)

(5)再打开一个cmd窗口,输入mongo,连接mongodb数据库

显示:

MongoDB的数据库目录 mongodb数据库文件在哪_json_02

,则成功!

【注1:默认会在C:\data\db中创建数据库,但是若不想在C盘中创建数据库,可以在D盘中新建一个data文件夹,在里面再新建一个db文件夹,然后使用:mongod --dbpath D:\data\db --port 27017 就可以了】(默认的端口号是27017

【注2:为了不占用C盘空间,则每次使用:mongod --dbpath D:\data\db --port 27017  即可】

此时在网站上显示:

MongoDB的数据库目录 mongodb数据库文件在哪_服务器_03


3、数据库(database)   

【我是利用下述的2步:先启动服务器,再连接服务器】

(3-1)数据库的服务器:服务器用来保存数据

            mongod用来启动服务器   【注:该cmd窗口打开就不要关闭,因为服务器需要一直启动】

(3-2)数据库的客户端:客户端用来操作服务器,对数据进行增删改查的操作

            mongo用来启动客户端

【所以:必须要先启动服务器,然后客户端去连接服务器(上述的两个操作需要在不同的cmd中进行)】

注:可以将MongoDB设置为系统服务,可以自动在后台启动,不需要每次都手动启动  【可有可无,不是必须的】


4、MongoDB中三个重要的概念

  • 数据库(database):数据库是一个仓库,在仓库中可以存放集合
  • 集合(collection):集合类似于数组,在集合中可以存放文档
  • 文档(document):文档是数据库中最小单位,用于存储和操作的内容都是文档

【注1:上述安装的是数据库服务器,一个数据库服务器可以有多个数据库,一个数据库中可以有多个集合,一个集合可以有多个文档】

【注2:进行增删改查都是基于“文档”】 

【注3:MongoDB中,数据库和集合都不需要手动创建!当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合

  

MongoDB的数据库目录 mongodb数据库文件在哪_MongoDB的数据库目录_04

【一个数据库】

5、MongoDB的基本指令

(1)show databases   或者   show dbs        显示当前的所有数据库

(2)use 数据库名    进入到指定的数据库中 【不需要是否存在,就可以直接使用,当向数据库中插入数据时,该数据库才真正建立】

(3)db              表示当前所处的数据库

(4)show collections  显示数据库中所有的集合

MongoDB的数据库目录 mongodb数据库文件在哪_数据库_05

(5)对数据库简单的操作

db. <collection>.insert(doc)   表示:向集合中插入一个文档   【注:此处的collection应该改为自己设置的名字】

例子:向test数据库中的stus集合中插入一个新的学生对象{name:”psy”,age:18,gender:”girl”}

db.stus.insert({name:”psy”,age:18,gender:”girl”})    【因为一般use数据库,此时db就是数据库】

MongoDB的数据库目录 mongodb数据库文件在哪_json_06

db.<collection>.find()  查询当前集合中的所有文档

MongoDB的数据库目录 mongodb数据库文件在哪_python_07


6、关系型数据库与非关系型数据库的名词比较:【关系型数据库:二维表;非关系型数据库:键值对】

SQL术语/概念

MongoDB术语/概念

解释/说明

database

database

数据库

table

collection

数据库表/集合

row

document

数据记录行/文档

column

field

数据字段/域

index

index

索引

table joins

 

表连接,MongoDB不支持

primary key

primary key

主键,MongoDB自动将_id字段设置为主键


7、基础操作【开启MongoDB】

开启MongoDB基础操作:

1)首先打开两个cmd

2)第一个cmd先启动服务器mongod --dbpath D:\data\db --port 20717

3)第二个cmd再连接服务器mongo,出现>,连接成功!

则在该cmd窗口(第二个cmd)进行操作


8、MongoDB与Python的交互

1)引入包pymongo      from pymongo import *

2)利用类MongoClient建立连接并创建客户端

  1. 无安全认证:client=MongoClient('mongodb://localhost:27017')
  2. 有安全认证:client=MongoClient('mongodb://用户名:密码@localhost:27017/数据库名称')

3)类database获取数据库xk    db=client.xk

4)类collection

主要方法:insert_one  insert_many  update_one  update_many  delete_one  delete_many  find_one  find_many

5)举例:


from pymongo import *#获取客户端,建立连接client=MongoClient('mongodb://yhm:pwd@localhost:27017/sjk')  #yhm用户名,pwd密码,sjk数据库db=client.sjk  #切换数据库
stu=db.stu  #获取集合

s1=stu.insert_one({'name':'潘锁艳'})  #增加
stu.update_one({'name':'潘锁艳'},{'$set':{'name':'abc'}})  #修改
stu.delete_one({'name':'abc'})  #删除
cursor=stu.find({'age':{'$gt':20}})  #查询  找出年纪大于20的记录
for s in cursor:
    print(s['name'])