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