Mongodb 我们可以看到集合组期间形成的查询吗?

Mongodb 我们可以看到集合组期间形成的查询吗?,mongodb,Mongodb,我正在使用MongoDB开发一个现有的基于java的应用程序 在其中一个类中,我看到了一个mongo db组,如下所示 BasicDBList result = (BasicDBList) coll.group(key, cond, initial, reduce); 其中,key,cond,initial是三个不同的BasicDBObject,reduce是一个字符串形式的函数 我的问题是,我们可以看到形成的查询吗???如果您有MongoDB Java驱动程序的源代码,您可以查看com.Mo

我正在使用MongoDB开发一个现有的基于java的应用程序

在其中一个类中,我看到了一个mongo db组,如下所示

BasicDBList result = (BasicDBList) coll.group(key, cond, initial, reduce);
其中,
key
cond
initial
是三个不同的
BasicDBObject
,reduce是一个字符串形式的函数


我的问题是,我们可以看到形成的查询吗???

如果您有MongoDB Java驱动程序的源代码,您可以查看
com.MongoDB.GroupCommand
来查看此查询是如何建立的,它看起来像这样:

    BasicDBObject args  = new BasicDBObject();
    args.put( "ns" , input );
    args.put( "key" , keys );
    args.put( "cond" , condition );
    args.put( "$reduce" , reduce );
    args.put( "initial" , initial );
    if ( finalize != null )
        args.put( "finalize" , finalize );
    return new BasicDBObject( "group" , args );
{ "group" : { "ns" : "coll" , 
              "key" : {<keys>} , 
              "cond" : {<cond>} , 
              "$reduce" : "<reduce>" , 
              "initial" : { }
            }
}
这转化为一个组命令(),如下所示:

    BasicDBObject args  = new BasicDBObject();
    args.put( "ns" , input );
    args.put( "key" , keys );
    args.put( "cond" , condition );
    args.put( "$reduce" , reduce );
    args.put( "initial" , initial );
    if ( finalize != null )
        args.put( "finalize" , finalize );
    return new BasicDBObject( "group" , args );
{ "group" : { "ns" : "coll" , 
              "key" : {<keys>} , 
              "cond" : {<cond>} , 
              "$reduce" : "<reduce>" , 
              "initial" : { }
            }
}
{“group”:{“ns”:“coll”,
“键”:{},
“cond”:{},
“$reduce”:”,
“首字母”:{}
}
}