MongoAlchemy使用密钥查询嵌入式文档

时间:2019-03-20 06:42:00

标签: python flask flask-sqlalchemy mongoalchemy

我正在使用Flask-MongoAlchemy。我想在下面的代码中获取User1的值。

from flask_mongoalchemy import MongoAlchemy
from flask import Flask

app = Flask(__name__)
db = MongoAlchemy()

app.config["MONGOALCHEMY_DATABASE"]="MyDatabase"

db.init_app(app)


class Output(db.Document):       
    data =db.AnythingField()

    def save_to_db(self) -> None:
        db.session.save(self)



op = Output()
op.data =  {"User1": {"Item2": 2, "Item3": -1, "Item4": 2}, "User2": {"Item4": 2, "Item5": 1, "Item6": 2}}

op.save_to_db()
r = op.query.filter({Output.data:{"User1":{'$exists':True}}})
result = r.all()

如果我在数据中使用列表,那么我可以使用elemMatch来获取记录(检查下面的代码),但要求是在数据中使用字典。

op.data =  [{"name":"User1", "list": {"Item2": 2, "Item3": -1, "Item4": 2}},{"name": "User2", "list": {"Item4": 2, "Item5": 1, "Item6": 2}}]
r = op.query.filter({Output.data:{"$elemMatch":{ "name":"User1"}}})   

0 个答案:

没有答案
相关问题