Python pymongo模块常用操作分析

2018-09-22 00:52

阅读:607

  本文实例讲述了Python pymongo模块常用操作。分享给大家供大家参考,具体如下:

  环境:pymongo3.0.3,python3

  以下是我整理的一些关于pymongo的操作,网上很多是用去连接数据库的,但是我这里连接一直提示没有这个包,如果大家有什么解决方案或者其他需要补充的,也欢迎告诉我。

  一、导入pymongo,使用MongClient连接数据库,连接到myinfo数据库

   import pymongo client= pymongo.MongoClient(127.0.0.1,27017) db=client.myinfo

  二、insert,insert_one()只能插入一条数据,插入多条数据的格式是,一定要加[],否则只会添加进去第一条(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>这种格式的

  遍历查询到的所有结果,以及它key=name的value

   for i in col1: print(i) print(i[name])

  更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

  希望本文所述对大家Python程序设计有所帮助。


评论


亲,登录后才可以留言!