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

yipeiwu_com6年前Python基础

本文实例讲述了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数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

在Django的模型中添加自定义方法的示例

为了给你的对像添加一个行级功能,那就定义一个自定义方法。 有鉴于manager经常被用来用一些整表操作(table-wide),模型方法应该只对特殊模型实例起作用。 这是一项在模型的一个...

对python:threading.Thread类的使用方法详解

Python Thread类表示在单独的控制线程中运行的活动。有两种方法可以指定这种活动: 1、给构造函数传递回调对象 mthread=threading.Thread(target...

python 进程间数据共享multiProcess.Manger实现解析

一、进程之间的数据共享 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。 这样极大地减少了对使用锁定和其他...

解决python 无法加载downsample模型的问题

downsample 在最新版本里面修改了位置 from theano.tensor.single import downsample (旧版本) 上面以上的的import会有error...

Python使用pandas处理CSV文件的实例讲解

Python使用pandas处理CSV文件的实例讲解

Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大。 CSV(Comma-Separated Values)...