海豚精灵:https://www.whhtjl.com;优课GO:https://mgo.whhtjl.com
今天我在练习mongo与python交互的时候写了以下代码:
#coding=utf-8
from pymongo import *
#获得客户端,建立链接
client=MongoClient('mongodb://py3:123@localhost:27017/py3')
#切换数据库
db=client.py3
#获取集合
stu=db.stu
#增加
#s1=stu.insert_one({'name':'张三丰'})
#修改
#stu.update_one({'name':'张三丰'},{'$set':{'name':'abc'}})
#删除
#stu.delete_one({'name':'abc'})
#查询
cursor=stu.find({'age':{'$gt':15}}).sort('_id',-1).skip(1).limit(1)
for s in cursor:
print('姓名:%s'%(s['name']))
s2=stu.find_one()
print('第一个:%s'%s2)
cur=stu.find()
print('第一个:%s'%cur.next())
print('第二个:%s'%cur.next())
print('第三个:%s'%cur.next())
print('总数:%d'%stu.count())
运行程序出现以下错误:
经过搜寻网络上的资料,发现是ascii编码的问题,在自己程序代码前面加上以下几句,即可解决问题:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
#coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from pymongo import *
#获得客户端,建立链接
client=MongoClient('mongodb://py3:123@localhost:27017/py3')
#切换数据库
db=client.py3
#获取集合
stu=db.stu
#增加
#s1=stu.insert_one({'name':'张三丰'})
#修改
#stu.update_one({'name':'张三丰'},{'$set':{'name':'abc'}})
#删除
#stu.delete_one({'name':'abc'})
#查询
cursor=stu.find({'age':{'$gt':15}}).sort('_id',-1).skip(1).limit(1)
for s in cursor:
print('姓名:%s'%(s['name']))
s2=stu.find_one()
print('第一个:%s'%s2)
cur=stu.find()
print('第一个:%s'%cur.next())
print('第二个:%s'%cur.next())
print('第三个:%s'%cur.next())
print('总数:%d'%stu.count())
再次运行程序:
大功告成!!!