pymongo 对mongoDB的操作

时间:2024-01-11 08:33:08

#文档地址 http://api.mongodb.com/python/current/api/pymongo/collection.html

collection级别的操作:

find_and _modify(query={},update=None,upert=False,sort=None,full_response=False,manipulate=False,**kwargs)

更新并返回一个对象,不赞成使用find_one_and_delete(),find_one_and_replace()或者find_one_and_update()代替。

c[name] || c.name   获取集合c的子集合name

full_name                获取集合的全名,形式为 database_name.collection_name

name                       获取集合的名称

database                 获取集合的库名

create_index(keys,**kwargs)

创建一个索引

keys 可以是单个字段,或2元素元组(字段名,排序方向)构成的列表.字段名是字符串格式的,排序方向可选值为(ASCENDING,DESCENDING,GEO2D,GEOHAYSTACK,GEOSPHERE,HASHED,TEXT)

例:my_collection.create_index([('mike',pymongo.DESCENDING),('eliot',pymongo.ASCENDING)],backgroud=True)

**kwargs 中的参数可以关键字参数的形式传入,包括但不限于以下参数:

name  对索引的命名,未提供则自动按顺序命名

expireAfterSeconds  int类型入参,用于创建一个有有效期的集合。MongoDB将会自动删除这个集合中的记录,经过这个设定的秒数后。这个索引的字段必须是一个UTC datetime 或者不会失效的数据。

create_indexes(indexes)

创建多个索引

例:from pymongo import IndexModel,ASCENDING,DESCENDING

index1=IndexModel([('hello',DESCENDING),('world',ASCENDING)],name='hello_world')

index2=IndexModel([('goodbye',DESCENDING)])

my_collection.create_indexes([index1,index2])