1. MongoDB
下载地址:https://www.mongodb.com/download-center#community
MongoDB是一种介于关系型和非关系型中间的数据库。它是文档型数据库(一个文档包含多个键/值对),多个文档组成集合,多个集合组成数据库。一个MongoDB 实例可以承载多个数据库。这里集合的概念类似关系型数据库中的表。MongoDB的优势在于数据存储与交互非常灵活,采用类似JSON格式,能灵活地创建索引以及完成SQL能做的几乎所有查询。此外它还是一个支持分布式的数据库,能自动处理分片实现负载均衡,并且支持使用MapReduce进行复杂的聚合操作。
安装完MongoDB之后我们需要创建一个文件夹存放数据库
MongoDB将数据目录存储在 db 目录下。但是这个数据目录不会主动创建。
打开cmd -> cd c:\data -> mkdir db 然后在创建log文件夹 mkdir log
然后可以启动MongoDB
cd C:\Program Files\MongoDB\Server\3.4\bin
mongod -dbpath C:\data\db
链接成功后新开一个cmd窗口,切换到bin目录下,键入mongo打开一个客户端
常用操作:
(1)查看所有数据库: show dbs
(2)创建数据库:use dbname (如果数据库不存在,则创建数据库,否则切换到指定数据库)
(3)插入数据:db.collection.insert({key:value})
(4)更新数据:db.collection.save({key:value}) 如果是已经存在的key则更新value,否则执行插入,insert对已经存在的不做操作
db.collection.update({key_name : key},{value_name : value})
(5)删除:db.collection.remove()删除所有数据,db.collection.remove({key:value})删除指定数据,db.collection.drop()删除这个collection
(6)查找:db.collection.find({key:value}).pretty()返回所有,并且展示地好看点,db.collection.findOne()返回第一条, find里可以多个key查询,find({key1: value1, key2: value2})
其他常见操作: http://www.runoob.com/mongodb/mongodb-query.html
2. PyMongo
PyMongo提供了在python里操作MongoDB的工具,官方教程:http://api.mongodb.com/python/current/tutorial.html
(1)首先创建一个mongoclient,默认是本地端口
import pymongo
client = pymongo.MongoClient()
如果是连其他服务器端口
client = pymongo.MongoClient('192.xxx.x.xxx') # 创建一个连接
client['test'].authenticate('username', 'password')
(2)创建数据库,类似字典引用
db = client['my_database']
collection = db['my_collection']
注意MongoDB是惰性的,即在插入第一条数据之前,数据库和collection都不会真的生成
(4)插入一条文档,文档在MongoDB中的存储格式是json,在pymongo中我们一般传入字典。
dic = {'name':'serena',"id":1532}
collection.insert_one(dic)
(5)插入多条文档,可以传入list of dict, 即一个字典的列表,每个元素是一条记录,然后用insert_many()
list_of_records = [{'name': 'amy', 'id': 1798},{'name': 'bob', 'id': 1631}]
collection.insert_many(list_of_records)
打印所有记录
for record in collection.find():
pprint.pprint(record)
collection.find_one({'name': 'amy'})
查询所有满足条件的
collection.find({'name': 'amy'})
(7)count
collection.count()
collection.find().count()