Mongo DB聚合查询:新日期(“$ strDate”)无效

时间:2017-02-05 11:15:19

标签: mongodb aggregation-framework

我正在尝试使用投影聚合查询以将字符串日期转换为ISODate格式字符串日期格式为'MMM-yyyy'(例如:2017年6月)。 但是在以mongo DB可接受的格式创建字符串日期为'yyyy-MM-ddTHH:mm:ss'并将其分配给前一阶段的属性并将其用于下一阶段以转换为ISODate时它不接受。 例如:new Date(“$ strDate”);

 db.getCollection('MyCollection').aggregate([{
              $match: {
                  "_id": "292"
              }
          }, {
              $project: {
                  Month: {
                      $substr: ["$Month_Year", 0, 3]
                  },
                  Year: {
                      $substr: ["$Month_Year", 4, 9]
                  }
              }
          }, {
              $project: {
                  Month: 1,
                  Year: 1,
                  MonthInt: {
                      $cond: {
                          if: {
                              $eq: ["$Month", "Jan"]
                          },
                          then: "01",
                          else: {
                              $cond: {
                                  if: {
                                      $eq: ["$Month", "Feb"]
                                  },
                                  then: "02",
                                  else: {
                                      $cond: {
                                          if: {
                                              $eq: ["$Month", "Mar"]
                                          },
                                          then: "03",
                                          else: {
                                              $cond: {
                                                  if: {
                                                      $eq: ["$Month", "Apr"]
                                                  },
                                                  then: "04",
                                                  else: {
                                                      $cond: {
                                                          if: {
                                                              $eq: ["$Month", "May"]
                                                          },
                                                          then: "05",
                                                          else: {
                                                              $cond: {
                                                                  if: {
                                                                      $eq: ["$Month", "Jun"]
                                                                  },
                                                                  then: "06",
                                                                  else: {
                                                                      $cond: {
                                                                          if: {
                                                                              $eq: ["$Month", "Jul"]
                                                                          },
                                                                          then: "07",
                                                                          else: {
                                                                              $cond: {
                                                                                  if: {
                                                                                      $eq: ["$Month", "Aug"]
                                                                                  },
                                                                                  then: "08",
                                                                                  else: {
                                                                                      $cond: {
                                                                                          if: {
                                                                                              $eq: ["$Month", "Sep"]
                                                                                          },
                                                                                          then: "09",
                                                                                          else: {
                                                                                              $cond: {
                                                                                                  if: {
                                                                                                      $eq: ["$Month",
                                                                                                          "Oct"
                                                                                                      ]
                                                                                                  },
                                                                                                  then: "10",
                                                                                                  else: {
                                                                                                      $cond: {
                                                                                                          if: {
                                                                                                              $eq: ["$Month", "Nov"]
                                                                                                          },
                                                                                                          then: "11",
                                                                                                          else: {
                                                                                                              $cond: {
                                                                                                                  if: {
                                                                                                                      $eq: ["$Month", "Dec"]
                                                                                                                  },
                                                                                                                  then: "12",
                                                                                                                  else: "00"
                                                                                                              }
                                                                                                          }
                                                                                                      }
                                                                                                  }
                                                                                              }
                                                                                          }
                                                                                      }
                                                                                  }
                                                                              }
                                                                          }
                                                                      }
                                                                  }
                                                              }
                                                          }
                                                      }
                                                  }
                                              }
                                          }
                                      }
                                  }
                              }
                          }
                      }
                  }
              }
          }, {
              $project: {
                  strDate: {
                      $concat: ["$Year", "-", "$MonthInt", "-01T00:00:00Z"]
                  }
              }
          }, {
              $project: {,
                  strDate: 1,
                  MyDate: {
                      "$add": [new Date("$strDate"), ]
                  } // new Date("2017-05-01T00:00:00Z") } } ]);

0 个答案:

没有答案