flask-pymongo的配置

  • config.py
# 配置MongoDB数据库
''''这是没有添加MongoDB权限的版本'''
MONGO_HOST = 'localhost'
MONGO_PORT = '27017'
MONGO_DATABASE = 使用的database
MONGO_URI = "mongodb://{0}:{1}/{2}".format(
  MONGO_HOST, MONGO_PORT, MONGO_DATABASE
)
''''这个是为MongoDB添加权限的版本'''
MONGO_USERNAME = 用户名
MONGO_PASSWORD = 密码
MONGO_HOST = 'localhost'
MONGO_PORT = '27017'
MONGO_DATABASE = 使用的database
MONGO_URI = "mongodb://{0}:{1}@{2}:{3}/{4}?authSource=admin".format(
  MONGO_USERNAME, MONGO_PASSWORD, MONGO_HOST, MONGO_PORT, MONGO_DATABASE
)
  • exts.py
from flask_pymongo import PyMongo

mongo = PyMongo()
  • app.py
from flask import Flask
from flask_wtf import CSRFProtect
from apps.apis import bp as api_bp
from exts import mongo
import config


def create_app():
  app = Flask(__name__)
  app.config.from_object(config)
  
  app.register_blueprint(api_bp)
  
  mongo.init_app(app, uri=config.MONGO_URI)

  CSRFProtect(app)

  return app


if __name__ == '__main__':
  app = create_app()
  app.run()
  • views.py
from exts import mongo

# 可以执行一切mongo的操作
# 增
mongo.db.集合名.insert(json数据)
# 删
mongo.db.集合名.remove(查询条件)
mongo.db.集合名.delete_one(查询条件)
mongo.db.集合名.delete_many(查询条件)
# 改
mongo.db.集合名.update(查询条件, 操作)
# 查
mongo.db.集合名.find(查询条件)    # 返回的是一个cursor对象,需要使用for循环进行遍历获取数据
mongo.db.集合名.find_one(查询条件)    # 返回的是一个dict对象

# 计数
mongo.db.集合名.find().count()

# 排序
# sort的第一个参数是field,即属性名,第二个参数为1(升序,pymongo.ASCENDING) 或 -1(降序,pymongo.DESCENDING)
# 注意,这里和MongoDB的操作不一样,在MongoDB中sort直接传入的是一个对象{name: -1}
mongo.db.集合名.find().sort('name', pymongo.ASCENDING)

# 偏移,限制
# 同MongoDB的skip和limit
mongo.db.集合名.find().sort('age', 1).skip(10).limit(5)

你可能感兴趣的:(flask-pymongo的配置)