1

我有一个在终端查询我的 mongodb 集合时工作正常的查询,但是在我想要对数据进行分组的函数内部,我收到以下错误:

// QUERY WORKS:
/*
> db.twitterhashtags.group({ key: {"text":true}, initial: {sum:0}, reduce: function(doc, prev) {prev.sum +=1}});
 [
{
    "text" : "spnyc",
    "sum" : 1
},
{
*/
//RUNNING QUERY CAUSES THIS ERROR:
// TypeError: undefined is not a function
// at Collection.group.scope (/Users/propstm/Projects/nodeproject/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/collection.js:1341:16)
//at g (events.js:185:14)

这是引发上述错误的代码行。

db.collection("twitterhashtags").group({ key: {"text":true}, initial: {sum:0}, reduce: function(doc, prev) {prev.sum +=1}});
4

1 回答 1

2

驱动程序没有 100% 遵循控制台约定。文档有使用组的示例。

http://mongodb.github.com/node-mongodb-native/api-generated/collection.html#group

但是,如果它是一个新应用程序并且您使用的是 2.2,则不应使用 group,除非您必须使用聚合框架来代替。

http://docs.mongodb.org/manual/aggregation/

于 2012-09-12T07:57:21.973 回答