自学整理记录,大神见笑
MongoDB简介
- MongoDB是非关系数据库,实际上就是一组json字符串
- 向MongoDB中导入json数据
mongoimport -d MongoDB数据库名 -c 集合名 --file json文件路径
- 注:一定要在mongodb目录下的bin目录中执行,因为mongoimport在该目录下
python连接mongodb
初始化步骤
- 导包
from pymongo import MongoClient
- 实例化client,建立连接
client=MongoClient(host="127.0.0.1",port=27017)
-
注:127.0.0.1是本地默认地址
-
注:27017是默认端口
-
注:默认是本地的时候可以省略不写
-
注:mongo和redis类似,会自动断开连接,不用管,而mysql需要主动断开连接
-
连接目标数据库和集合
collection = client["MyMongo"]["contacts"]
- 注:第一个中括号表示哪一个数据库
- 注:第二个中括号表示该数据库下的哪一个集合
操作数据库
增
- 插入一条数据
collection.insert_one({"_id":10010,"name":"xiaowang","age":10})
-
注:"_id"如果不指定,也会自动生成,它是mongodb的标识
-
插入多条数据
data_list = [{"name":"test1"},{"name":"test2"},{"name":"test3"}]
collection.insert_many(data_list)
- 注:插入多条数据,实际上就是把字典放在列表中
- 注:下列输入的格式,表示要将format里面的i填入test后的大括号,而i来自最后面for循环中,range表示左闭右开取值,默认从0开始
[{"name":"test{}".format(i)} for i in range(1000)]
删
- 删除一条数据
collection.delete_one({"name": "xiaohua"})
- 删除所有满足条件的数据
collection.delete_many({"name": "xiaohua"})
改
- 修改一条数据
collection.update_one({"name": "maziao"}, {"$set": {"name": "liuboyang"}})
- 修改全部数据
collection.update_many({"name": "maziao"}, {"$set": {"name": "liuboyang"}})
查
- 查询一条数据
collection.find_one({"name": "test1"})
- 查询多条数据
result = collection.find({"name": "test1"})
print(list(result))
- 注:查询多条直接打印会打印Cursor地址,所以有两种打印方式
1.一种是转换为列表
print(list(result));
2.另外一种是for循环遍历打印每一条
for i in result:
print(i)
- 注:只能循环一次打印,因为游标cursor会到最后
网友评论