Jsp mongodb查询:如何获取唯一条目、列的总和、计数等。,

Jsp mongodb查询:如何获取唯一条目、列的总和、计数等。,,jsp,mongodb,Jsp,Mongodb,关于这个链接 我试过这个命令 db.userInfo.group({key: {userID: true}, initial: {filescount: 0}, reduce: function(doc, aggregator) { aggregator.filescount += 1;}}); 这将返回如下所示 [ { "userID" : "50d002940cf2298e9721642d", "filescount" : 2

关于这个链接

我试过这个命令

db.userInfo.group({key: {userID: true}, initial: {filescount: 0}, reduce: function(doc, aggregator) { aggregator.filescount += 1;}});
这将返回如下所示

[
    {
            "userID" : "50d002940cf2298e9721642d",
            "filescount" : 2
    },
    {
            "userID" : "50b9d10e0cf2362982338e38",
            "filescount" : 12
    }
]
这对于只获取值的计数是可以的,我需要像下面这样

[
    {
            "userID" : "50d002940cf2298e9721642d",
            "filescount" : 2,
            "filesTotalSize" : 1000,
            "physicalFilescount" : 1
    },
    {
            "userPID" : "50b9d10e0cf2362982338e38",
            "filescount" : 12,
            "filesTotalSize" : 10000,
            "physicalFilescount" : 10
    }
]
其中FileTotalSize是所有FileSize字段的总和,PhysicalFileCount是存储在users collection中的物理文件数

任何帮助都将对我表示感谢和帮助。 谢谢
Annamalai.Lk

我使用以下js提取细节

print("Number of Users info Collection is : "+db.user.find({},{_id:1}).count());
print("userID,EmailId,Age,Sex,fileCount,TotalPhysicalFiles,TotalFileSize");

//user is a collection based on that i get values from the userFiles collection
//(i.e) each user have some files in userFiles collection..
//So that i really want to get each users
//files count, actual files count, sizeused field values

db.user.find().forEach( function(user) {
var fileCount = 0;
var totalPhysicalFiles = 0;
if(user != undefined)
{       
    db.userFiles.find().forEach( function(userFiles) { 
        if(userFiles.userID == user._id)
        {
            fileCount++;
            if(userFiles.fileURL != undefined)
                totalPhysicalFiles++;
        }           
    });
    var userRoleId = user.appRole.$id;
    var userType = "";
    if(userRoleId == "01")
        userType = "ADMIN";
    else
        userType = "USER";
    print(user._id+","+user.userId+","+user.age+","+user.sex+","+fileCount+","+totalPhysicalFiles+","+user.sizeUsed);
}});
最后,使用如下命令从命令提示符执行此js:

./mongo localhost:27017/testDB getUserCount.js>test.csv


它将在该路径中生成一个csv文件。

到目前为止您尝试了什么?您看过聚合框架了吗?请您编辑您的问题,以包括这些细节(并使这成为一个完整的问题,而不是引用评论)?