【发布时间】:2018-08-31 22:38:34
【问题描述】:
在下面提到的查询中,当我尝试使用 project1“完成”和“planFinish”到 project2 并将“字符串”日期转换为“IsoDate”时,它显示“QUERY [thread1] Error: invalid ISO date”
db.prOrder.aggregate(
[
{$match:{"enterpriseBid":"abc","prodOrderLineItems.planFinishDate":{$exists:true}}
},
//Stage2
{$unwind:{path:"$prodOrderLineItems",preserveNullAndEmptyArrays:false}},
//Stage3
{$project:{prodOrderNumber:1,enterpriseBid:1,
"planFinish":{$dateToString:{format:"%Y-%m-%d",date:"$prodOrderLineItems.planFinishDate"}},
"finish":{$dateToString:{format:"%Y-%m-%d",
date:{$cond:[{"$ne":["$prodOrderLineItems.finishDate",null]},"$prodOrderLineItems.finishDate",new ISODate()]}}}}
},
//Stage5
{$project:{prodOrderNumber:1,"enterpriseBid":1,"orderNumber":1,"finish":1,
"planFinish":1,"dateComp":{"$cmp":[ISODate("$planFinish"), ISODate("$finish")]}}
},
//Stage6
{$match:{"dateComp":-1}
},
{$group:{"_id":{"orderNumber":"$prodOrderNumber","finish":"$finish","planFinish":"$planFinish"}}}
]
).forEach(function(doc){
printjson(doc);
});
【问题讨论】:
标签: mongodb aggregation-framework