MongoDB教程(五)--- 与python交互

sudo pip install pymongo
  • 引入包pymongo
from pymongo import *

MongoClient对象

  • 使用init方法创建连接对象
client = MongoClient('主机ip',端口)

Database对象

  • 通过client对象获取获得数据库对象
db = client.数据库名称

Collections对象

  • 通过db对象获取集合对象
collections = db.集合名称
  • 主要方法如下
    • insert_one:加入一条文档对象
    • insert_many:加入多条文档对象
    • find_one:查找一条文档对象
    • find:查找多条文档对象
    • update_one:更新一条文档对象
    • update_many:更新多条文档对象
    • delete_one:删除一条文档对象
    • delete_many:删除多条文档对象

Cursor对象

  • 当调用集合对象的find()方法时,会返回Cursor对象
  • 结合for...in...遍历cursor对象

 

增加

  • 创建mongodb_insert1.py文件,增加一条文档对象
#coding=utf-8

from pymongo import *

try:
    # 接收输入
    name=raw_input('请输入姓名:')
    home=raw_input('请输入家乡:')
    # 构造json对象
    doc={'name':name,'home':home}
    #调用mongo对象,完成insert
    client=MongoClient('localhost',27017)
    db=client.py3
    db.stu.insert_one(doc)
    print 'ok'
except Exception,e:
    print e
  • 创建mongodb_insert2.py文件,增加多条文档对象
#coding=utf-8

from pymongo import *

try:
    # 构造json对象
    doc1={'name':'hr','home':'thd'}
    doc2={'name':'mnc','home':'njc'}
    doc=[doc1,doc2]
    #调用mongo对象,完成insert
    client=MongoClient('localhost',27017)
    db=client.py3
    db.stu.insert_many(doc)
    print 'ok'
except Exception,e:
    print e

查询

  • 创建mongodb_find1.py文件,查询一条文档对象
#coding=utf-8

from pymongo import *

try:
    client=MongoClient('localhost',27017)
    db=client.py3
    doc=db.stu.find_one()
    print '%s--%s'%(doc['name'],doc['hometown'])
except Exception,e:
    print e
  • 创建mongodb_find2.py文件,查询多条文档对象
#coding=utf-8

from pymongo import *

try:
    client=MongoClient('localhost',27017)
    db=client.py3
    cursor=db.stu.find({'hometown':'大理'})
    for doc in cursor:
        print '%s--%s'%(doc['name'],doc['hometown'])
except Exception,e:
    print e

 

修改

  • 创建mongodb_update1.py文件,修改一条文档对象
#coding=utf-8

from pymongo import *

try:
    client=MongoClient('localhost',27017)
    db=client.py3
    db.stu.update_one({'gender':False},{'$set':{'name':'hehe'}})
    print 'ok'
except Exception,e:
    print e
  • 创建mongodb_update2.py文件,修改多条文档对象
#coding=utf-8

from pymongo import *

try:
    client=MongoClient('localhost',27017)
    db=client.py3
    db.stu.update_many({'gender':True},{'$set':{'name':'haha'}})
    print 'ok'
except Exception,e:
    print e

删除

  • 创建mongodb_delete1.py文件,删除一条文档对象
#coding=utf-8

from pymongo import *

try:
    client=MongoClient('localhost',27017)
    db=client.py3
    db.stu.delete_one({'gender':True})
    print 'ok'
except Exception,e:
    print e
  • 创建mongodb_delete2.py文件,删除多条文档对象
#coding=utf-8

from pymongo import *

try:
    client=MongoClient('localhost',27017)
    db=client.py3
    db.stu.delete_many({'gender':False})
    print 'ok'
except Exception,e:
    print e

 

练习:

  • 使用python向集合t3中插入1000条文档,文档的属性包括_id、name
    • _id的值为0、1、2、3...999
    • name的值为'py0'、'py1'...
  • 查询显示出_id为100的整倍数的文档,如100、200、300...,并将name输出

  • 插入数据代码如下

#coding=utf-8

from pymongo import *

try:
    client=MongoClient('localhost',27017)
    db=client.py3
    col=db.t3
    for index in range(1000):
        col.insert_one({'_id':index,'name':'py%s'%index})
    print 'ok'
except Exception,e:
    print e
  • 查询代码如下
#coding=utf-8

from pymongo import *

try:
    client=MongoClient('localhost',27017)
    db=client.py3
    col=db.t3
    cursor=col.find({'$where':'function(){return this._id%100==0;}'},{'_id':0,'name':1})
    for item in cursor:
        print item['name']
except Exception,e:
    print e
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值