2016-03-14 29 views
0

日期。減去終於搞清楚如何參數使用mongo.bson.from.list()日期匯聚管道後,我一直在用下面的代碼片段扯皮得到$min下面的日期的差異,但不斷收到rmongodb:聚集

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

試用版&錯誤:以下工作。

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') 
    )) 
)