db.fs.files.distinct("metadata.user")
[
"5027",
"6048",
"6049",
]
아래의 X는 위 쿼리의 번호를 나타낼 위치를 나타냅니다. count()MongoDB 루프 쿼리
나는 각각을 반복 할 방법을 찾으려고 노력하고있다. (예를 들어, '메타 데이터', '메타 데이터', '메타 데이터' 첫 번째 쿼리의 사용자 수를 계산하고 두 번째 쿼리의 총 결과 수를 계산합니다. MongoDB Shell에서이 쿼리를 작성하는 쉬운 방법이 있습니까?
내가 (순수한 숫자를 찾고) 될 것이다 찾고있을 것이다 출력 :
User Inbox
5027 9872
6048 12
6049 125
업데이트 : 내가 찾던에 아주 가까이 무언가를 달성 할 수 있었다
:
# for x in $(psql -d ****** postgres -c "select user_name from users where user_name ~ '^[0-9]+$' order by user_name;" | tail -n +3 | head -n -2); do mongo vmdb --quiet --eval "db.fs.files.find({ 'metadata.user' : '$x'}).count()"; done| sort -nr
1381
1073
982
그러나 사용자 이름 부분을 놓치고 있습니다. 요점은 사서함에있는 메시지 수가 많은 사용자 목록을 생성하는 것입니다.
이미 시도 무엇을 작동하지 않는 걸 말해 보시기 바랍니다. http://stackoverflow.com/help/how-to-ask –
var x = db.fs.files.distinct ("metadata.user") forEach (function (x) {db.fs.files. Fri Jun 17 11:58:25 exec 오류 : (셸) : 1 ReferenceError : forEach가 정의되지 않았습니다. – user6480110