【问题标题】:Mongo DB aggregation not supping ISO date conversionMongodb 聚合不进行 ISO 日期转换
【发布时间】: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


    【解决方案1】:

    我得到了这个解决方案,它工作正常

    //Stage5
    {$project:{"orderNumber":1,"lastShipDate":1,"promisedShipDate":1,"dateComp":{"$cmp":[{
         type:Date,
         default:"$promisedShipDate"}, 
         {type:Date ,default:"$lastShipDate"}
     ]}}},
    

    【讨论】:

      猜你喜欢
      • 2015-03-25
      • 2016-04-03
      • 1970-01-01
      • 2015-07-05
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多