2017-02-27 6 views
-1

アサートと起動しない:コマンドが失敗しました:0、 "ERRMSG":{ "OK"「FieldPath「%Y-%mを16873 }:: - %d」は$」、 『コード』で始まっていない集合体は、私は私が退治わけではないエラーを与えている以下のクエリを、持っている

に失敗しました。

db.collection.aggregate([ 
    { 
     $match: { 
      'insertedAt': { 
       $gte: ISODate("2017-02-23T01:00:01Z") 
      } 
     } 
    }, 
    { 
     $group : { 
      _id : { 
       isDummy: '$isDummy', 
       $dateToString: { 
        format: '%Y-%m-%d', 
        date: '$insertedAt' 
       } 
      }, 
      count: { $sum: 1 } 
     } 
    } 
]); 
+0

私はupvoteできません、私に15の評判を手伝ってください! – Deamon

+0

あなたはupvoteをする必要はありません。今のところ[受諾](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)の回答を続けると、評判が上がります。 – Veeram

答えて

1

$dateToString

変更が必要な形式に日付を変換するために使用される表現です。 1つを下に使用すると、あなたは行く準備ができています。

db.collection.aggregate([ 
    { 
     $match: { 
      'insertedAt': { 
       $gte: ISODate("2017-02-23T01:00:01Z") 
      } 
     } 
    }, 
    { 
     $group : { 
      _id : { 
       isDummy: '$isDummy', 
       insertedAt: { 
        $dateToString: { 
        format: '%Y-%m-%d', 
        date: '$insertedAt' 
        } 
       } 
      }, 
      count: { $sum: 1 } 
     } 
    } 
]); 
1

$dateToString集合演算子であり、文字列に日付型に変換します。

_id: { 
    isDummy: '$isDummy', 
    insertedAt: { 
     $dateToString: { 
      format: '%Y-%m-%d', 
      date: '$insertedAt' 
     } 
    } 
} 
関連する問題