Skr-Eric的MongoDB课堂(六)——MongoDB的游标和与Python交互

游标 cursor

 

通过获取操作数据库的返回结果,得到返回结果对象。

通过游标可以进一步获取操作结果数据。

将返回结果赋给一个js变量,作为查找结果游标

var cursor = db.class0.find()

 

查看是否有下一个结果

cursor.hasNext()

 

获取下一个结果

cursor.next()

 

python  --> pymongo 模块

 

安装 :  sudo pip3 install pymongo

 

操作步骤

1. 创建mongodb的数据库连接对象

conn = pymongo.MongoClient('localhost',27017)

 

2. 生成数据库对象 (__setitem__ __getitem__)

db = conn.stu

db = conn['stu']

 

3. 生成集合对象

myset = db.class0

myset = db['class0']

 

4. 集合操作 (增删改查索引聚合)

 

5. 关禁数据库连接

   conn.close()

 

插入操作

  insert()

  insert_many()

  insert_one()

  save()

 

查找操作

find()

功能 : 查找数据库内容

参数 : 同mongo shell find()

返回值: 返回一个结果游标

 

find_one()

功能:查询第一条符合条件的文档

参数: 同find()

返回值: 返回一个字典

* 在pymongo中所有操作符的用法同mongo shell相同,只是操作时加引号,以字符串的方式写入python代码

 

cursor对象的属性

next()

limit()

skip()

count()

sort()

pymongo -> sort([('age',1),('name',-1)])

mongo shell -> sort({age:1,name:-1})

* 使用for 或者next 使游标位置不再指向来头位置的时候调用limit  skip  sort就会报错

 

修改操作

update(query,update,upsert=False,multi=False)

update_many()

update_one()

 

删除操作

remove(query,multi = True)

multi默认是true表示删除所有query过滤文档

设置为False表示只删除第一个

* python中 True ==》 true

           False  ==》 false

   None ===》 null

 

索引操作

ensure_index()

list_indexes()

drop_index()

drop_indexes()

 

聚合操作

aggregate([])

参数:和mongo shell一样

返回值:返回和find()函数相同的游标对象

 

pymongo 实现gridfs存储

 

import  gridfs

GridFS()

功能: 生成grid数据库对象

 

存储小文件

import bson

 

bson.binary.Binary()

功能 : 将bytes格式子串转换为mongodb的二进制存储格式

 

 

 

想要看更多的课程请微信关注SkrEric的编程课堂

你可能感兴趣的:(Skr-Eric的MongoDB课堂(六)——MongoDB的游标和与Python交互)