Я хочу выполнить этот оператор SQL на MongoDB:
SELECT DISTINCT book,author from library
Пока DISTINCT от MongoDB поддерживает только одно поле за раз. Для более чем одного поля мы должны использовать команду GROUP или map-Reduce.
Я нашел способ использования команды GROUP:
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: { }
});
Однако этот подход поддерживает только до 10 000 ключей. Кто-нибудь знает, как использовать карту Reduce для решения этой проблемы?