flask_pymongo 的基本操作

参考文档:https://flask-pymongo.readthedocs.io/en/latest/
初始化设置:

from flask import Flask
from flask_pymongo import PyMongo
app = Flask(__name__)
app.config["MONGO_URI"] = "mongodb://localhost:27017/myDatabase"
mongo = PyMongo(app)

查询:

mongo.db.users.find({"online": True})
user = mongo.db.users.find_one_or_404({"_id": username})

collection.find({"_id": bson.ObjectId(strategy_id)}).next()
mongo.cx['chance_result'][_id].find({"type": "stock_data"})
## 第一个[]是数据库,第二个[]是集合,使用 .find里面的条件去查找一条符合需求的文档

更新:

collection.update({"_id": bson.ObjectId(strategy_id)}, {"$set": kwargs})
coll.update({"_id": bson.ObjectId(strategy_id)}, update, upsert=upsert)

删除:

collection.delete_one({"_id": bson.ObjectId(strategy_id)})
collection.delete_many({"_id": bson.ObjectId(strategy_id)}) # 删除一条数据

插入:

strategy_id = collection.insert(args)  # 插入一条新的数据

关键字查询:

snap = {}   # 查询的字段设置
if like:
	# FIXME: regex 很耗性能,比较好的解决办法?
	strategies = collection.find({
		"user_id": user_id,
		"name": {"$regex": f".*{like}.*"},
		# "profit": {"$type": "number"}  没回测的策略也显示
	}).sort("create_time", -1)
else:
	strategies = collection.find({"user_id": user_id}, cls.snap)

封装:

>>> type(mongo.cx)
<type 'flask_pymongo.wrappers.MongoClient'>
>>> type(mongo.db)
<type 'flask_pymongo.wrappers.Database'>
>>> type(mongo.db.some_collection)
<type 'flask_pymongo.wrappers.Collection'>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值