Python操作MongoDB数据库的方法示例


Posted in Python onJanuary 04, 2018

本文实例讲述了Python操作MongoDB数据库的方法。分享给大家供大家参考,具体如下:

>>> import pymongo
>>> client=pymongo.MongoClient ('localhost',27017)
>>> db=client.students
>>> db.collection_names()
['students']
>>> students=db.students
>>> students.find()
<pymongo.cursor.Cursor object at 0x0000017A74305FD0>
>>> for item in students.find():
  print(item)
{'_id': ObjectId('59394a87ae09c56bd9c1d375'), 'name': 'zhangsan', 'age': 18.0, 'sex': 'male'}
>>> wangwu={'name':'wangwu','age':20,'sex':'male'}
>>> students.insert(wangwu)
ObjectId('593a7c5fedb5a1abeb757052')
>>> for item in students.find({'name':'wangwu'}):
  print(item)
{'_id': ObjectId('593a7c5fedb5a1abeb757052'), 'name': 'wangwu', 'age': 20, 'sex': 'male'}
>>> students.find_one()
{'_id': ObjectId('59394a87ae09c56bd9c1d375'), 'name': 'zhangsan', 'age': 18.0, 'sex': 'male'}
>>> students.find_one({'name':'wangwu'})
{'_id': ObjectId('593a7c5fedb5a1abeb757052'), 'name': 'wangwu', 'age': 20, 'sex': 'male'}
>>> students.find().count()
2
>>> students.remove({'name':'wangwu'})
{'ok': 1, 'n': 1}
>>> for item in students.find():
  print(item)
{'_id': ObjectId('59394a87ae09c56bd9c1d375'), 'name': 'zhangsan', 'age': 18.0, 'sex': 'male'}
>>> students.find().count()
1
>>> students.create_index([('name',pymongo.ASCENDING)])
'name_1'
>>> students.update({'name':'zhangsan'},{'$set':{'age':25}})
{'ok': 1, 'nModified': 1, 'n': 1, 'updatedExisting': True}
>>> students.find_one()
{'_id': ObjectId('59394a87ae09c56bd9c1d375'), 'name': 'zhangsan', 'age': 25, 'sex': 'male'}
>>> students.update({'age':25},{'$set':{'sex':'Female'}})
{'ok': 1, 'nModified': 1, 'n': 1, 'updatedExisting': True}
>>> students.remove()
{'ok': 1, 'n': 1}
>>> students.find().count()
0
>>> zhangsan={'name':'zhangsan','age':25,'sex':'Male'}
>>> lisi={'name':'lisi','age':21,'sex':'Male'}
>>> wangwu={'name':'wangwu','age':22,'sex':'Female'}
>>> students.insert_many([zhangsan,lisi,wangwu])
<pymongo.results.InsertManyResult object at 0x0000017A749FC5E8>
>>> for item in students.find().sort('name',pymongo.ASCENDING):
  print(item)
{'_id': ObjectId('593a806bedb5a1abeb757054'), 'name': 'lisi', 'age': 21, 'sex': 'Male'}
{'_id': ObjectId('593a806bedb5a1abeb757055'), 'name': 'wangwu', 'age': 22, 'sex': 'Female'}
{'_id': ObjectId('593a806bedb5a1abeb757053'), 'name': 'zhangsan', 'age': 25, 'sex': 'Male'}
>>> for item in students.find().sort([('sex',pymongo.DESCENDING),('name',pymongo.ASCENDING)]):
  print(item)
{'_id': ObjectId('593a806bedb5a1abeb757054'), 'name': 'lisi', 'age': 21, 'sex': 'Male'}
{'_id': ObjectId('593a806bedb5a1abeb757053'), 'name': 'zhangsan', 'age': 25, 'sex': 'Male'}
{'_id': ObjectId('593a806bedb5a1abeb757055'), 'name': 'wangwu', 'age': 22, 'sex': 'Female'}
>>>

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

Python 相关文章推荐
python设置windows桌面壁纸的实现代码
Jan 28 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
Apr 16 Python
浅谈Python中数据解析
May 05 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
Python 处理文件的几种方式
Aug 23 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
Feb 11 Python
在Python中用GDAL实现矢量对栅格的切割实例
Mar 11 Python
Python新手学习raise用法
Jun 03 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
用python对excel进行操作(读,写,修改)
Dec 25 Python
Django实现drf搜索过滤和排序过滤
Jun 21 Python
Python字典操作详细介绍及字典内建方法分享
Jan 04 #Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 #Python
Python给你的头像加上圣诞帽
Jan 04 #Python
Python编程实现线性回归和批量梯度下降法代码实例
Jan 04 #Python
Python语言描述随机梯度下降法
Jan 04 #Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 #Python
python使用xpath中遇到:到底是什么?
Jan 04 #Python
You might like
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
详解python之简单主机批量管理工具
2017/01/27 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
python如何爬取动态网站
2020/09/09 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
物流管理专业大学生自荐信
2013/10/04 职场文书
电子商务专业推荐信范文
2013/12/02 职场文书
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
社区科普工作方案
2014/06/03 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
李强优秀员工观后感
2015/06/16 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js