一、MongoDB环境配置:
安装完成后在高级环境设置-环境变量-系统变量-Path中添加MongoDB安装文件夹中的bin文件夹,在cmd命令行输入mongo进入数据库。
二、Compass操作MongoDB:
Compass是MongoDB安装时自带的图形化操作软件,打开时直接点击connet进入数据库,点击CREATE DATABASE创建数据库
三、MongoDB概念介绍:
sQL术语/概念 | mongodb术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
joins | joins | 表连接,MongoDB不支持 |
primary key | primary key | 主键,MongoDB自动将_id字段设为主键 |
四、MongoDB三元素:
三元素:数据库、文档、集合
-
文档(document):就是关系型数据库的一行文档是一个对象,由键值对构成,是 json 的扩展格式:
{'name':'abc','gender':'1'}
-
集合(collection):就是关系型数据库中的表,可以存储多个文档,结构可以不固定。可以存储如下文档在一个集合中:
{"name":"abc","gender":"1"} {"name":"xxx","age":18} {"title":'yyy','price':20.9}
五、MongoDB基本操作命令:
-
db:查看当前的数据库
-
show dbs:查看所有的数据库
-
use 数据库名:切换到要使用的数据库。如果不存在则自动创建一个。(创建完成后需要插入数据才算创建成功)
-
db.dropDatabase():删除当前指向的数据库
-
db.集合名.insert(value):添加数据到指定的集合中。
-
db.集合名.find():从指定集合中查找数据
更多命令请见:http://www.runoob.com/mongodb/mongodb-tutorial.html
六、Python操作MongoDB:
-
安装pymongo:
python操作mongodb,必须下载pymongo模块,
cmd输入
pip install pymongo
-
连接MongoDB:
import pymongo #获取连接mongoDB的对象 client=pymongo.MongoClient("127.0.0.1",port=27017) #获取数据库(如果没有demo数据库则自动创建一个) db=client.demo #获取数据库中的集合(就是mysql中的表) collection=db.example #example为表的名字 #写入数据 collection.insert({"username":"xiaogang"})
-
数据类型:
类型 说明 Object ID 文档ID String 字符串,最常用,必须是有效的UTF-8 Boolean 存储一个布尔值,true或false Integer 整数,可以是32位或64位,这取决于服务器 Double 存储浮点值 Arrays 数组或列表,多个值存储到一个键 Object 用于嵌入式的文档,即一个值为一个文档 Null 存储Null值 Timeestamp 时间戳,表示从 1970-1-1 到现在的总秒数 Date 存储当前日期或时间的UNIX时间格式 -
操作MongoDB
MongoDB的基本操作命令和pymongo的命令很相似
-
insert():写入一个数据
collection.insert({"username":"xiaogang"})
-
insert_one():写入一条数据
collection.insert_one({"username":"aaa","password":"111111"})
-
insert_many([ ]):写入多条数据到集合中
collection.insert_many([ {"username":"abc","password":"123456"}, {"username":"cba","password":"654321"} ])
-
find_one():查找并返回一条数据
name=collection.find_one({'username':'abc'}) print(name)
-
find():查找集合并返回符合的数据,返回一个迭代器
names=collection.find() for i in names: print(i)
-
update_one:更新一条数据,将abc改成aaa
collection.update_one({"username":"abc"},{"$set":{"username":"aaa"}})
-
update_many:更新多条数据,将所有aaa改成bbb
collection.update_many({"username":"aaa"},{"$set":{"username":"bbb"}})
-
delete_one():删除一条数据
collection.delete_one({"username":"ccc"})
-
delete_many():删除多条数据,将所有username为ccc删除
collection.delete_many("username":"ccc")
-