db.fs.files.distinct("metadata.user")
[
"5027",
"6048",
"6049",
]
Ниже показано, где я хотел бы, чтобы числа из вышеуказанного запроса отображались. db.fs.files.find ({'metadata.user': X, 'metadata.folder': 'inbox'}). Count()MongoDB Loop Query
Я пытаюсь найти способ повторить каждую из пользователей в первом запросе и подсчет общего количества результатов во втором запросе. Есть ли простой способ обработать этот запрос в Shell MongoDB?
Выхода я бы искал бы (просто ищем чистые номера):
User Inbox
5027 9872
6048 12
6049 125
Update:
Я был в состоянии сделать что-то очень близко к тому, что я искал :
# 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. find ({'metadata.user': x, 'metadata.folder': 'inbox'})}) Пт июн 17 11:58:25 exec error: (shell): 1 ReferenceError: forEach не определен – user6480110