• pymongo的常用操作


    环境:pymongo3.0.3,python3

    以下是我整理的一些关于pymongo的操作,网上很多是用pymongo.Connecion()去连接数据库的,但是我这里连接一直提示没有这个包,如果大家有什么解决方案或者其他需要补充的,也欢迎告诉我。  
     
    一、导入pymongo,使用MongClient连接数据库,连接到myinfo数据库
    import pymongo
    
    client= pymongo.MongoClient("127.0.0.1",27017)
    
    db=client.myinfo
    
    
    二、insert,insert_one()只能插入一条数据,插入多条数据的格式是db.user.insert([{条数1},{条数2}]),一定要加[],否则只会添加进去第一条(user是一个集合,除了用db["collection"]外也可以用db.collection来对集合进行操作
    db["user"].insert_one({"name":"zhao"})
    db["user"].insert_one({"name":"zhou","age":"5"})
    db["user"].insert([{"name":"wu","age":"6"},{"name":"zheng","age":"7"}])
    
    
    *insert还可以用下面这种方式插入,将数据独立出来
    
    data = [
    {"name":"zhao","rank":"1"},
            {"name":"qian","rank":"2"},
    {"name":"sun","rank":"3"},
    {"name":"li","rank":"4"},
    ]
    db.user.insert(data)
    三、update,$set:更新操作,multi=True:是否对查询到的全部数据进行操作,upsert=True:如果找不到查询的结果是否插入一条数据

    
    
    db.user.update_one({"age":"2"},{"$set":{"name":"qian","age":2}})
    db.user.update({"name":"sun"},{"$set":{"name":"qian"}},upsert=True)
    *update_one也是只能对一条数据进行操作,$set是update操作的$操作符,也可以用$inc或$push,前两个操作速度差不多,$push操作速度较慢。
    四、remove,如果后面()内不填写内容,就是将整个表清空了,db.user.find_one_and_delete()也是删除的意思

    db.user.remove({"name":"wu"})
    db.user.find_one_and_delete({"name":"zheng"})
    五、db.user.count(),统计查询出的条数,()内不填写东西,就是统计出该集合下所有的数据

    print(db.user.count({"age":"6"}))
    六、打印出查询结果
    
    
    
    
    from bson import json_util as jsonb

    print(jsonb.dumps(list(db.user.find({"name":"wu"}))))
    print(db.user.find({"name":"wu"}))
    可以看到上面两种方式,不转换与转换后的结果对比如下:
    

    
    
    
    
    *jsonb.dumps()将查询出来的结果转换成了可以读的list的格式,否则打印出来的是<pymongo.cursor.Cursor object at 0x02096DF0>这种格式的
    
    
    遍历col1=db.user.find()查询到的所有结果,以及它key=name的value
    for i in col1:
    print(i)
    print(i["name"])
    
    
  • 相关阅读:
    POJ--1797 Heavy Transportation (最短路)
    Luogu--3381 【模板】最小费用最大流
    51Nod--1295 XOR key (可持久化tire树)
    HDU--5269 ZYB loves Xor I (字典树)
    [Windows Server 2008] ASP.net安装方法
    [Windows Server 2008] 安装IIS7.5及FTP
    [Windows Server 2012] Tomcat安装方法
    [Windows Server 2012] Filezilla安装方法
    [Windows Server 2012] 安装护卫神·主机管理系统
    [Windows Server 2012] 安装SQL Server 2012
  • 原文地址:https://www.cnblogs.com/meitian/p/4623217.html
Copyright © 2020-2023  润新知