美文网首页
Python操作MongoDB

Python操作MongoDB

作者: 岑洋 | 来源:发表于2018-11-29 10:51 被阅读0次

    自学整理记录,大神见笑

    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会到最后

    相关文章

      网友评论

          本文标题:Python操作MongoDB

          本文链接:https://www.haomeiwen.com/subject/fqpgqqtx.html