Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6743
  • 博文数量: 1
  • 博客积分: 35
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-17 16:53
文章分类
文章存档

2012年(1)

我的朋友
最近访客

分类: 数据库开发技术

2012-01-30 17:29:18

#encoding=utf-8
#pymongo版本为1.11
#数据库“操作
import pymongo
from pymongo import ASCENDING, DESCENDING
con=pymongo.Connection('localhost',27017) #建立连接
db1=con.db_test_table                     #建立数据库
db1.authenticate('admin','admin')         #登录用户名和密码
db1.drop_collection('table_drop')         #删除表
db1.logout()                              #退出
print db1.collection_names()              #查看所用表
print db1.connection                      #查看连接
print db1.name                            #查看数据库名称
db1.create_collection('ddd')              #建立表
db1.command('logout')                     #执行命令
print db1.error()                         #返回上次操作的错误
db1.eval(code, *args)              #执行mongodb里面的javascript表达式 print db1.last_status()                   #返回上次操作的状态
print db1.previous_error()                #返回前一个错误
print db1.profiling_info()                #mongodoc里面的程序概要信息 print db1.profiling_level()               #mongodoc里面的程序概要信息等级
db1.add_user('beam','123456')             #增加用户
db1.remove_user('beam')                   #删除用户 db1.reset_error_history()                 #重置历史错误
print dir(db1)                           
 
 
#表“的操作
table1=db1.table_test
print dir(table1)
print table1.database                     #表的数据库
print table1.count()                      #表的个数
print table1.full_name                    #表的全名db_test_table.table_test print table1.options() #表的设置
#key=u'ddd'
#table1.create_index(key,deprecated_unique=key) #建立唯一键值 db2=con.db_test_distinct table2=db2.table1 table2.create_index([("partno",DESCENDING),('age',DESCENDING)],deprecated_unique=("partno",'age'))  
#建立多个索引的唯一
table2.insert({'partno':'max-000','name':'jack','age':80})
#设置唯一键值后,再次插入重复,不会插入,并无提示
table2.insert({'partno':'max-001','name':'jack','age':20})
table2.insert({'partno':'max-002','name':'jack','age':30})
table2.insert({'partno':'max-003','name':'jack','age':40})
table2.insert({'partno':'max-004','name':'jack','age':50})
table2.insert({'partno':'max-005','name':'jack','age':60})
table2.insert({'partno':'max-006','name':'jack','age':70})
table2.insert({'partno':'max-007','name':'jack','age':20})
print table2.distinct('name')  #返回所有key 不重复的记录 #db2.create_collection('ttt')
#db2.ttt.drop()                            #删除表
#db2.drop_collection('ttt')
table2.create_index('name')
for i in table2.find({'age':20}):          #查找所有age=20
    print i
print table2.find_one({'age':20})          #查找单个age=20
for i in table2.find().sort('partno'):     #查找所有,排序
    print i
for i in table2.find().skip(3).limit(5):   #忽略3个,留5个
    print i
#table2.find_and_modify #table2.drop_index('name_1')  
#删除单个索引,要知道索引的名称
#table2.drop_indexes()                     #删除所有索引
#table2.ensure_index('name')  
#检查是否存在些索引,如果不存在则创建,存在则返回None
print table2.index_information()           #返回索引信息
#table2.rename('new_name')                 #表改名
#table2.remove()                           #删除所有记录 
#table2.remove({'age':20})                 #删除指定记录 ttt=table2.remove({'age':0},safe=True)    
#结果中{u'connectionId': 115, u'ok': 1.0, u'err': None, u'n': 0},‘n’为1,删除成功
print ttt table2.save({'partno':'max-007','name':'jack','age':500})  
#插入一条数据
#table2.update({'name':'jack'},{'$set':{'age':800}},multi=True)  
#multi=True将更新所有,默认为false,只更新一条
for i in table2.find({'age':{'$gte':30}}):
#'$lt'--'<','$lte'--'<=','$gt'--'>','$gte'--'>=','$nt'--'!='
    print i                               #在表中设置条件查找数据 table2.group()                            #类似sql的group by
table2.map_reduce()                       #map和reduce方法
table2.find_and_modify()                  #查找修改返回对象
阅读(2961) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~