我正在使用mongoengine在mongo中查询一组对象,我必须将结果作为JSON数组返回。
这是定义对象的方式:
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
},
有什么方法可以将其预格式化为readable
格式?
感谢您的帮助,谢谢
答案 0 :(得分:0)
不过,我想知道一种可以真正实现此目的的方法,
这就是我所做的:
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))
有效。