我们知道,MongoDB是一种非关系型数据库,所以它的查询方式与标准的结构化查询语言SQL有很大的不同。但无论它是怎么复杂的一种结构,当它经过开发者的双手后,它只能变成客户想要的结构。今天要讲述的就是MongoVUE下如何MongoDBGroup分组查询。


  MongoVUE的查询格式如下:

db.collection.group({ key, reduce, initial, [keyf,] [cond,] finalize })


从上面,我们可以看出,要实现MongoDB的分组查询,key(分组字段)、cond(分组条件)、refuce(分组计算方式)initial(初始条件)MongoDB分组查询比不可少的值。接下来,我们就看看MongoVUE下如何实现MongoDB的分组查询功能:


   (一)选中需要分组的表,选择“Collection--Group”,打开分组功能。


MongoVUE下实现MongoDB的Group分组查询_第1张图片


  (二)在Key下面输入需要分组的字段,Conditions下输入分组过滤条件。打开ReduceTab页,在Initial Value出输入“{"count": 0}”,下面Reduce功能处输入:

functionReduce(doc, out) {

  out.count +=1

  }

  选择GO,即弹出MongoDB的分组结果。


MongoVUE下实现MongoDB的Group分组查询_第2张图片

  

  (三) 在Shell处,自动打出MongoDB的查询语句。


db.EQUIPMENT.group({

  key : {

    "equipType" : true

  },

  cond : {

    "siteId" : "北京"

  },

  initial : {

    "count" : 0

  },

  reduce : function Reduce(doc, out) {

    out.count +=1

  },

  finalize : function Finalize(out) {

    return out;

  }

});