1

Я пытаюсь создать этот запрос для использования с отчетами jasper, но что-то не так с моим синтаксисом, у меня есть 2 ISODates в моем db, и я хочу запросить между тем, в этом запросе Я использую $match и $gt, $lt.Mongo запрос диапазона дат в формате ISODate

В любом случае что-то не так, потому что консоль говорит об ошибке, но не указала ее.

Обход: проблема в том, что с $match и $lt и $gt. потому что без них можно запросить.

Код:

{ 
    runCommand : { 
     aggregate : 'saleCalculation', 
     pipeline : [ 
      { 
       $match: { 
        processingInfo.modifiedDate: {$gt : ISODate("2016-05-01T09:29:40.572Z")}, 
        {$lt : ISODate("2016-06-01T09:29:40.572Z")} 
       } 
      },   
      { 
       $project : { 
        header.documentCode : 1, 
        header.transactionDate : 1, 
        header.metadata.entityName : 1, 
        lines : 1 
       } 
      }, 
      { $unwind : '$lines'}, 
      { $unwind :'$lines.calculatedTax.details' } 
     ] 
    } 
} 

Jasper Руководство говорит, что я должен сделать что-то вроде этого:

http://community.jaspersoft.com/wiki/how-query-mongo-isodate-data-parameter

, но я не понимаю, что

ответ

0

Попробуйте этот код:

{ 
    runCommand : { 
     aggregate : 'saleCalculation', 
     pipeline : [ 
      { 
       $match: { 
        processingInfo.modifiedDate: {$gt : ISODate("2016-05-01T09:29:40.572Z"), 
        $lt : ISODate("2016-06-01T09:29:40.572Z")} 
       } 
      },   
      { 
       $project : { 
        header.documentCode : 1, 
        header.transactionDate : 1, 
        header.metadata.entityName : 1, 
        lines : 1 
       } 
      }, 
      { $unwind : '$lines'}, 
      { $unwind :'$lines.calculatedTax.details' } 
     ] 
    } 
} 
+0

не работал на; ( – michelpm1

+0

вы получаете любую ошибку – bhuvnesh

+0

да ошибка jsonparser – michelpm1

0

Попробуйте этот трубопровод. Обязательно используйте двойные кавычки.

[ 
     { "$match": {"processingInfo.modifiedDate": { "$gt":ISODate("2010-03-26T18:40:59.000Z"), "$lt":ISODate("2016-09-28T18:40:59.000Z")}}}, 
     { 
      "$project" : { 
       "header.documentCode": 1, 
       "header.transactionDate": 1, 
       "header.metadata.entityName": 1, 
       "lines" : 1 
      } 
     }, 
     { "$unwind": "$lines"}, 
     { "$unwind": "$lines.calculatedTax.details" } 
    ] 

Я пробовал эту команду на оболочке mongo и работал без ошибок.

db.runCommand({"aggregate": "saleCalculation", "pipeline" : [ 
     { "$match": {"processingInfo.modifiedDate": { "$gt":ISODate("2010-03-26T18:40:59.000Z"), "$lt":ISODate("2016-09-28T18:40:59.000Z")}}}, 
     { 
      "$project" : { 
       "header.documentCode": 1, 
       "header.transactionDate": 1, 
       "header.metadata.entityName": 1, 
       "lines" : 1 
      } 
     }, 
     { "$unwind": "$lines"}, 
     { "$unwind": "$lines.calculatedTax.details" } 
    ] 
})