Выберите Разметить более одного поля, используя карту MongoDB Уменьшить

Я хочу выполнить это оператор SQL на MongoDB:

SELECT DISTINCT book,author from library

До сих пор до сих пор MongoDB отчетливо поддерживает только одно поле одновременно. Для более чем одного поля мы должны использовать групповую команду или уменьшить карту.

Я поглотил способ использовать команду группы:

db.library.group({ 
    key: {book:1, author:1}, 
    reduce: function(obj, prev) { if (!obj.hasOwnProperty("key")) { 
        prev.book = obj.book; 
        prev.author = obj.author; 
    }}, 
    initial: { } 
});  

Однако этот подход поддерживает только до 10000 ключей. Кто-нибудь знает, как использовать карту Уменьшить, чтобы решить эту проблему?

5
задан masu.mo 18 September 2011 в 10:27
поделиться