pymongo基本操作用例
来源:互联网 发布:hello world java 编辑:程序博客网 时间:2024/05/22 04:47
一,基本的连接、插入、查询操作
>>> import pymongo
>>> clnt=pymongo.Connection('10.0.10.205')
>>> db=clnt['lsy']
>>> collection=db.lzylzy
>>> abc={'name':'lzy'}
>>> collection.save(abc)
ObjectId('4ba868b31454320ea8000000')
>>> abc
{'_id': ObjectId('4ba868b31454320ea8000000'), 'name': 'lzy'}
>>> collection.database
Database(Connection('10.0.10.205', 27017), u'lsy')
>>> db.collection_names
<bound method CallableVal.collection_names of Database(Connection('10.0.10.205', 27017), u'lsy')>
>>> db.collection_names()
[u'lzylzy', u'system.indexes']
>>> collection.find_one()
{u'_id': ObjectId('4ba868b31454320ea8000000'), u'name': u'lzy'}
>>> r=[{'name':'jxq','sex':'male'},{'name':'wl','age':24}]
>>> collection.insert(r)
[ObjectId('4ba877521454320ea8000006'), ObjectId('4ba877521454320ea8000007')]
>>> x=collection.find()
>>> for i in x:
... print i
...
{u'_id': ObjectId('4ba868b31454320ea8000000'), u'name': u'lzy'}
{u'_id': ObjectId('4ba86a5b1454320ea8000001'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86ab41454320ea8000002'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86ae01454320ea8000003'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86b231454320ea8000004'), u'name': u'pl'}
>>> type(x)
<class 'pymongo.cursor.Cursor'>
>>> collection.find_one({'name':'lsy'})
{u'_id': ObjectId('4ba86a5b1454320ea8000001'), u'name': u'lsy'}
二,简单删除操作
>>> for i in collection.find():
... print i
...
{u'_id': ObjectId('4ba868b31454320ea8000000'), u'name': u'lzy'}
{u'_id': ObjectId('4ba86a5b1454320ea8000001'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86ab41454320ea8000002'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86ae01454320ea8000003'), u'name': u'lsy'}
{u'age': 24, u'_id': ObjectId('4ba877521454320ea8000007'), u'name': u'wl'}
>>> collection.remove({'name':'lsy'})
>>> for i in collection.find():
... print i
...
{u'_id': ObjectId('4ba868b31454320ea8000000'), u'name': u'lzy'}
{u'age': 24, u'_id': ObjectId('4ba877521454320ea8000007'), u'name': u'wl'}
>>>
三,条件查询
>>> v=collection.find({"age":{'$lt':26}})
>>> for i in v:
... print i
...
{u'age': 24, u'_id': ObjectId('4ba877521454320ea8000007'), u'name': u'wl'}
四,使用索引
>>> collection.find({"age":{'$gt':23}}).sort('name').explain()['cursor']
u'BasicCursor'
>>> collection.find({"age":{'$gt':23}}).sort('name').explain()['nscanned']
7.0
>>> collection.create_index([('age',pymongo.DESCENDING),('name',pymongo.ASCENDING)])
u'age_-1_name_-1'
>>> collection.find({"age":{'$gt':23}}).sort('name').explain()['cursor']
u'BtreeCursor age_1_name_-1'
>>> collection.find({"age":{'$gt':23}}).sort('name').explain()['nscanned']
0.0
五,GridFS文件存取
>>> import pymongo
>>> import gridfs
>>> clnt=pymongo.Connection('10.0.10.205')
>>> db=clnt.gridfs_test#连接(如果不存在就创建)测试数据库
>>> fs=gridfs.GridFS(db)
>>> f=fs.open('test.exe','w')
>>> f.write(open(r'd:\tools\AdbeRdr90_zh_CN.exe','rb').read())
>>> f.close()
>>> f=fs.open('test.exe','r')
>>> open('c:/adf.exe','wb').write(f.read())
>>>
>>> import pymongo
>>> clnt=pymongo.Connection('10.0.10.205')
>>> db=clnt['lsy']
>>> collection=db.lzylzy
>>> abc={'name':'lzy'}
>>> collection.save(abc)
ObjectId('4ba868b31454320ea8000000')
>>> abc
{'_id': ObjectId('4ba868b31454320ea8000000'), 'name': 'lzy'}
>>> collection.database
Database(Connection('10.0.10.205', 27017), u'lsy')
>>> db.collection_names
<bound method CallableVal.collection_names of Database(Connection('10.0.10.205', 27017), u'lsy')>
>>> db.collection_names()
[u'lzylzy', u'system.indexes']
>>> collection.find_one()
{u'_id': ObjectId('4ba868b31454320ea8000000'), u'name': u'lzy'}
>>> r=[{'name':'jxq','sex':'male'},{'name':'wl','age':24}]
>>> collection.insert(r)
[ObjectId('4ba877521454320ea8000006'), ObjectId('4ba877521454320ea8000007')]
>>> x=collection.find()
>>> for i in x:
... print i
...
{u'_id': ObjectId('4ba868b31454320ea8000000'), u'name': u'lzy'}
{u'_id': ObjectId('4ba86a5b1454320ea8000001'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86ab41454320ea8000002'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86ae01454320ea8000003'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86b231454320ea8000004'), u'name': u'pl'}
>>> type(x)
<class 'pymongo.cursor.Cursor'>
>>> collection.find_one({'name':'lsy'})
{u'_id': ObjectId('4ba86a5b1454320ea8000001'), u'name': u'lsy'}
二,简单删除操作
>>> for i in collection.find():
... print i
...
{u'_id': ObjectId('4ba868b31454320ea8000000'), u'name': u'lzy'}
{u'_id': ObjectId('4ba86a5b1454320ea8000001'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86ab41454320ea8000002'), u'name': u'lsy'}
{u'_id': ObjectId('4ba86ae01454320ea8000003'), u'name': u'lsy'}
{u'age': 24, u'_id': ObjectId('4ba877521454320ea8000007'), u'name': u'wl'}
>>> collection.remove({'name':'lsy'})
>>> for i in collection.find():
... print i
...
{u'_id': ObjectId('4ba868b31454320ea8000000'), u'name': u'lzy'}
{u'age': 24, u'_id': ObjectId('4ba877521454320ea8000007'), u'name': u'wl'}
>>>
三,条件查询
>>> v=collection.find({"age":{'$lt':26}})
>>> for i in v:
... print i
...
{u'age': 24, u'_id': ObjectId('4ba877521454320ea8000007'), u'name': u'wl'}
四,使用索引
>>> collection.find({"age":{'$gt':23}}).sort('name').explain()['cursor']
u'BasicCursor'
>>> collection.find({"age":{'$gt':23}}).sort('name').explain()['nscanned']
7.0
>>> collection.create_index([('age',pymongo.DESCENDING),('name',pymongo.ASCENDING)])
u'age_-1_name_-1'
>>> collection.find({"age":{'$gt':23}}).sort('name').explain()['cursor']
u'BtreeCursor age_1_name_-1'
>>> collection.find({"age":{'$gt':23}}).sort('name').explain()['nscanned']
0.0
五,GridFS文件存取
>>> import pymongo
>>> import gridfs
>>> clnt=pymongo.Connection('10.0.10.205')
>>> db=clnt.gridfs_test#连接(如果不存在就创建)测试数据库
>>> fs=gridfs.GridFS(db)
>>> f=fs.open('test.exe','w')
>>> f.write(open(r'd:\tools\AdbeRdr90_zh_CN.exe','rb').read())
>>> f.close()
>>> f=fs.open('test.exe','r')
>>> open('c:/adf.exe','wb').write(f.read())
>>>
- pymongo基本操作用例
- 顺序表的基本操作用C 语言实现
- 顺序表的基本操作用c语言实现
- 单链表的基本操作用c语言表示
- Hbase 基本操作用 在java 上的实现
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- pymongo基本操作
- Oracle Length 和 Lengthb 函数说明 .(用来判断记录值里是否有中文内容)
- spring quartz
- 第三章和第六章代码大坏味道 函数过长&Extract Method (1)
- 出帐票同时打印
- android之壁纸机制
- pymongo基本操作用例
- VS2008 2010 ExtJS4 智能提示
- Analog - 模拟信号的解调
- 交通灯管理系统
- torque源码分析
- String,StringBuilder和StringBuffer的区别
- 2010年剑桥商务英语(BEC)考试流程
- SQL --- with as 语法
- Dijstra邻接表法