pymongo小结

这周在做一个小项目,使用python操作mongodb,这里总结一下其中的一些小知识点

Python的split函数

语法:
str.split(str="", num=string.count(str))
参数:
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。

在项目里有一个使用场景:给定一个数据文件,其中每行数据是一些身份信息按照一定格式组成,例如:
[email protected]—name+++phone***address,由于中间分隔符不一样,所以可以用到split中的num参数

delimiter = ['---', '+++', '***'] #给定分隔符列表
line = '[email protected]+++phone***address'
fields = []
for dr in delimiter:
	tmp = line.split(dr, 1) #每次分割1次
	fields.append(tmp[0])
	line = tmp[1]
fields.append(line)
print (res)

pymongo api

from pymongo import MongoClient
#获取客户端
client = MongoClient() 
client = MongoClient("mongodb://mongodb0.example.net:27019")
client = MongoClient('localhost', 27017)

#连接数据库
db = client.test
db = clinet['test']

#获取集合
collection = db.col_name
collection = db['col_name']

#插入数据
collection.insert_one(doc)
collection.insert_many(docs)

#查询数据
find(filter=None, projection=None, skip=0, limit=0,
        no_cursor_timeout=False, cursor_type=CursorType.NON_TAILABLE,
        sort=None, allow_partial_results=False, oplog_replay=False,
        modifiers=None, manipulate=True)
        
find_one(filter_or_id=None, *args, **kwargs) 

#遍历查询数据
for doc in collection.find()
	print(doc)

#条件查询
from bson import ObjectId
doc = collection.find({'_id':ObjectId('5cb82fab9510257d2ef26f3d')}) #使用_id查询

#更新文档
collection.update_one(filter, update, upsert=False)
collection.update_many(filter, update, upsert=False)
collection.replace_one(filter, replacement, upsert=False) 
collection.find_one_and_update(filter, update, projection=None, sort=None, return_document=ReturnDocument.BEFORE, **kwargs)


#删除文档
collection.delete_one(filter)
collection.delete_many(filter)
collection.drop() #删除集合
collection.find_one_and_delete(filter, projection=None, sort=None, **kwargs)
collection.find_one_and_replace(filter, replacement, projection=None, sort=None, return_document=ReturnDocument.BEFORE, **kwargs)

#索引
collection.create_index(keys, **kwargs)
collection.create_indexes(indexes)
collection.drop_index(index_or_name)
collection.drop_indexes()
collection.reindex()
collection.list_indexes()
collection.index_information()

参考文献:

PyMongo 3.7.2 Documentation
pymongo 学习记录
Python MongoDB 菜鸟教程
pymongo 学习记录

你可能感兴趣的:(python工具)