我需要通过嵌入式文档列表中的字段对MongoEngine查询(由Python 3进行排序)进行排序。这是一个示例交易文档:
{
"To": "Bob",
"From": "Sally",
"Amount": 100.00,
"Fees": [
{
"To": "Joe",
"Amount": 1.00
},
{
"To": "Mike",
"Amount": 1.50
}
]
}
我想根据“ Joe”的最高费用为所有交易订购查询。在sudo SQL中,将是这样的:
SELECT * FROM transactions ORDER BY Fees.Amount WHERE Fee.To == "Joe"
MongoEngine文档提供了以下语法:
Transaction.objects().order_by('-Amount')
但是这里不需要什么特异性。我认为应该是这样的:
Transaction.objects.order_by('-Fees.Amount')
但这并不专门针对Fees到“ Joe”进行过滤,而且我不确定它将如何处理顶级文档(EmbeddedDocumentListField)而不是单个EmbeddedDocument中的“ Fees”。
任何建议都值得赞赏!