mongodb CURD操作
mongodb CURD操作mongodb数据库操作123456789101112131415#1、增use 数据库名 #如果数据库不存在,则创建数据库,否则切换到指定数据库。#2、查show dbs #查看所有若直接创建完数据库使用这个命令,你是看不到的,要显示它,我们需要向config数据库插入一些数据。db.table1.insert({'a':1})#3、删use 数据库名 #先切换到要删的库下db.dropDatabase() #删除当前库ps:db代表当前库
mongodb集合操作(表)123456789101112#1、增当第一个文档(数据)插入时,集合就会被创建use database1db.table1.insert({'a':1}) #自动创建集合并且插入数据#注意 db.user和db.user.info是两个表#2、查show collectionsshow tables#3、删db.集合名.drop()
mongodb文档操作增123456789101112131415161718 ...
Flask-PyMongo简单使用
Flask-PyMongo CRUD操作增1
删查改
将mongo中的数据转换成json格式
将mongo中的数据转换成json格式12345678910111213141516171819202122232425262728293031323334# 这个是将mongo Document对象转换成json的编码器class MongoEncoder(JSONEncoder): def default(self, o): # 转换日期 if isinstance(o, (datetime, date)): pass # 转换Document if isinstance(o, BaseDocument): return o.to_mongo() # 转换id if isinstance(o, ObjectId): return str(o) return JSONEncoder.default(self, o)# 在蓝图上添加mongo解码器. jsonify会自动将Document对象转成jsonbp = B ...
Flask使用mongodb
flask连接mongodb123456789101112131415161718192021经过一番资料的查找,我发现flask连接mongodb有三种方式1.PyMongo #官方提供的最基本的2.flask_pymongo #在pymongo上封装的3.Flask-MongoEngine #类似于django orm的我这里的业务需求的话只需要使用第二种即可#使用1.安装flask_pymongopip install Flask-PyMongo2.获得mongo对象from flask_pymongo import PyMongoapp.config["MONGO_URI"] = "mongodb://username:password@host:port/myDatabase"mongo = PyMongo(app)ps:上述的连接可能会报出认证错误,解决问题的方法如下app.config["MONGO_URI"] = "mongodb://username:password@host:port/myDat ...
脏读、不可重复读、幻读
脏读、不可重复读、幻读123脏读:A事务读取到B事务未提交的数据,然后由于某种原因B事务进行了回滚,这样子A事务获取的数据就和回滚后的数据不一样了不可重复读:事务a在同一个事务内多次读取同一个数据,可能事务b再此期间修改了这个数值,导致前后读取的数据值不一样幻读:事务a在读取一段范围内的数据的时候,事务b往这个范围内写入了一条数据,事务a在以相同的条件查询数据的时候查出了多出来的一条数据
mysql四种隔离级别12345678910111213Read Uncommitted(读取未提交内容)在这个隔离级别中,所有的事务都可以看到其他未提交事务的执行结果。这个隔离级别很少被用在实际应用场景中,因为她的效率比其他的隔离级别好多少,并且会造成脏读的情况。Read Committed(读取提交内容)这个级别所有的事务只能看见其余事务已经提交的结果Repeatable Read(可重读)同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上这个会造成幻读的情况Serializable(可串行化)这是最高的隔离级别,它让事务之间以串行的方式进行,让事务之间不可能互相冲突,从而解决幻读 ...
flask请求流程
flask请求流程flask项目一启动,有6个全局变量123456_request_ctx_stack:LocalStack #LocalStack对象_app_ctx_stack:LocalStack #LocalStack对象current_app:LocalProxy(_find_app)request:LocalProxy #LocalStack对象session:LocalProxy #LocalStack对象g:LocalProxy #LocalStack对象
请求来了1app.__call__()----->内部执行:self.wsgi_app(environ, start_response)
wsgi_app()1234567891011121.执行:ctx = self.request_context(environ):返回一个RequestContext对象,并且封装了request(当次请求的request对象),session。2.执行:ctx.push():RequestContext对象的push方法 2.1 push方法中中间位置382行有:_ ...
python项目模块导出
python项目模块导出123451 在虚拟环境中直接导出 pip3 freeze >requirements.txt2 系统环境装了很多模块,只导出当前项目依赖的模块 -pip3 install pipreqs -pipreqs ./ --encoding=utf8