rmongodb:聚合中的减法日期

时间:2016-03-14 21:57:38

标签: rmongodb

在最终确定如何使用mongo.bson.from.list()使用日期参数化聚合管道之后,我一直在与下面的代码段争论,以获得$min下面的日期差异,但请保持得到

 Error in mongo.aggregation(m, collection , aggregation_pipeline ) : 
   mongoDB error: 10. Please check ?mongo.get.err for more details.

这意味着我的BSON群组表达虽然被mongo.bson.from.list()接受,却被mongo.aggregation()拒绝。

我尝试使用list()而非c()cod而不是ISODate定义,并使用各种引用变体。

 cod <- as.POSIXct("2015-01-01 00:00:00" , tz = "GMT" )

 grouparg_bson1 <- mongo.bson.from.list(
   list( '$group' = list( '_id'     = list('ID'        = '$dcmt.cid') ,
                          'dtdiff'  = list('$min'      = list('$subtract' = c('$dcmt.orddt','ISODate("2015-01-01T00:00:00Z")' )) ),
                          'tota'    = list('$sum'      = '$dcmt.A' ),
                          'list'    = list('$addToSet' = '$dcmt.B' )
   ))
 )

我正在使用mongo的最新稳定版本3.2.4。

1 个答案:

答案 0 :(得分:1)

试用&amp;错误:以下工作。

 grouparg_bson1 <- mongo.bson.from.list(
   list( '$group' = list( '_id'     = list('ID'        = '$dcmt.cid') ,
                          'dtdiff'  = list('$min'      = list('$subtract' = list('$dcmt.orddt', cod )) ),
                          'tota'    = list('$sum'      = '$dcmt.A' ),
                          'list'    = list('$addToSet' = '$dcmt.B' )
   ))
 )