在最终确定如何使用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。
答案 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' )
))
)