这是我的python代码:
date1=datetime.datetime(2016,2,3)
cursor = collection.aggregate([
{"$match":{"EndTime":{"$gte":date1}}},
{"$project": { "EndTime":"$EndTime","StartTime":{ "$subtract": [ "$EndTime", "$TimeSpent"*1000]},"TimeSpent":"$TimeSpent"}},
{"$sort":{"StartTime":1}}
])
我所有的StartTime字段均为None。我应该如何获取StartTime字段作为python输出。
您的管道应使用可用的算术运算符进行计算;你所谓的“倍增”的字符串文字,而不是使用的$multiply
运营商,因此,为什么你得到一个空的结果,蒙戈不承认这部分"$TimeSpent"*1000
在{ "$subtract": [ "$EndTime", "$TimeSpent"*1000] }
。
更改管道以$multiply
在表达式中使用运算符,而不是:
date1=datetime.datetime(2016,2,3)
cursor = collection.aggregate([
{ "$match": { "EndTime": { "$gte": date1 } } },
{
"$project": {
"EndTime": 1,
"TimeSpent": 1,
"StartTime": {
"$subtract": [
"$EndTime",
{ "$multiply": ["$TimeSpent", 1000] }
]
}
}
},
{ "$sort": { "StartTime": 1 } }
])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句