Python Mongoengine-以可读格式返回日期
我正在使用mongoengine查询mongo中的一组对象,结果必须作为JSON数组返回 这就是对象的定义方式:Python Mongoengine-以可读格式返回日期,python,mongodb,flask,mongoengine,Python,Mongodb,Flask,Mongoengine,我正在使用mongoengine查询mongo中的一组对象,结果必须作为JSON数组返回 这就是对象的定义方式: class OptimisedSummary(Document): date_from = DateTimeField() date_to = DateTimeField() (...) 以下是我返回数据的方式: return OptimisedSummary.objects(date_from__gte=_date_from, date_to__lte=_
class OptimisedSummary(Document):
date_from = DateTimeField()
date_to = DateTimeField()
(...)
以下是我返回数据的方式:
return OptimisedSummary.objects(date_from__gte=_date_from, date_to__lte=_date_to).to_json()
问题是我的对象有日期字段,它们的提交方式如下:
"date_from": {
"$date": 1534334450799
},
"date_to": {
"$date": 1534420850799
},
有没有办法预先格式化这些文件以可读的格式返回
非常感谢您的帮助,谢谢。我已经找到了一种方法,可以让这一切顺利进行。不过,我想知道是否有更好的方法
这就是我所做的:
pipeline = [
{
"$match": {
"date_from": {"$gte": _date_from},
"date_to": {"$lte": _date_to}
}
},
{
"$project": {"array": True,
"date_from": {
"$dateToString": {
"format": "%Y-%m-%d",
"date": "$date_from"
}
},
"date_to": {
"$dateToString": {
"format": "%Y-%m-%d",
"date": "$date_to"
}
},
"field1": 1,
"field2": 1
}
}
]
result = OptimisedSummary.objects.aggregate(*pipeline)
return JSONEncoder().encode(list(result))
它起作用了