我正在尝试在 MongoDB 集合上创建一个组查询,类似于:
db.orders.group( {
key: { ord_dt: 1, 'item.sku': 1 },
cond: { ord_dt: { $gt: new Date( '01/01/2012' ) } },
reduce: function ( curr, result ) { },
initial: { }
} )
我正在使用 rmongodb。通过查看 rmongodb 包文档,他们使用mongo.command
来运行计数命令:
mongo <- mongo.create()
if (mongo.is.connected(mongo)) {
buf <- mongo.bson.buffer.create()
mongo.bson.buffer.append(buf, "count", "people")
mongo.bson.buffer.append(buf, "query", mongo.bson.empty())
command <- mongo.bson.from.buffer(buf)
result = mongo.command(mongo, "test", command)
if (!is.null(result)) {
iter = mongo.bson.find(result, "n") print(mongo.bson.iterator.value(iter))
}
}
也不同:
mongo.distinct <- function(mongo, db, collection, key) {
b <- mongo.command(mongo, db, list(distinct=collection, key=key))
if(!is.null(b))
b <- mongo.bson.value(b, "values")
}
names <- mongo.distinct(mongo, "test", "people", "name")
有没有人成功使用mongo.command
过进行组查询?