我正在使用交易作爲嵌入式文檔的Credits模式。以下是存儲它的結構。如何在mongoengine中過濾EmbeddedDocument並獲得字段值?
{
"_id" : ObjectId("546dae8cc09e5f0d9602e632"),
"user" : ObjectId("53e7fdaac09e5f12a1230c14"),
"transaction" : [
{
"date" : ISODate("2014-11-20T12:34:12.878Z"),
"amount" : 100,
"follow_num" : "d5571d91-e434-4b10-bbd8-2a6511e78011",
"memo" : "test1",
"trans_type" : "deposit",
"status" : "success"
},
{
"date" : ISODate("2014-11-20T13:03:49.851Z"),
"amount" : 500,
"follow_num" : "2fd57cf4-eb5d-4751-9c88-6158adda6572",
"memo" : "test2",
"trans_type" : "withdraw",
"status" : "failed"
},
{
"date" : ISODate("2014-11-20T22:54:19.892Z"),
"amount" : 20,
"follow_num" : "c2bd7dd2-3b17-41c2-9513-60a058a5622a",
"memo" : "test3",
"trans_type" : "deposit",
"status" : "success"
}
]
}
我要檢索的最後一次成功存入交易 (即transaction.trans_type =「存款」 transaction.status =「成功」)的量。
@property
def last_deposit(self):
credit_obj = Credits.objects.get(user=self,
transaction__match={"trans_type":"deposit","status":"success"})
謝謝,但我想使用MongoEngine – 2014-11-21 14:18:59