2012-05-31 3 views
2

Я пытаюсь взять некоторые документы из коллекции MongoDB, но есть очень похожие записи. Предположим, что есть 4 документа, имеющих {title: "Foo", author: "John"}, но я хочу только вернуть один из них в результирующем наборе. Как и в случае, только 1 запись в любое время есть документ с заданным набором повторяющихся значений. Как ты это делаешь? Вид как SQL SELECT DISTINCT(author), titleЗапросить документы на основе отличной стоимости в MongoDB?

UPDATE

Я должен уточнить: Я заинтересован в отображении списка скажем, 100 названий, но только не показывают 1 экземпляр названия, независимо от того, сколько у авторов есть что-то с это название.

+0

Для начала, 'SELECT DISTINCT (автор), title' отражает недоразумение DISTINCT. Он изменяет SELECT, все это, чтобы возвращать только отдельные строки, это не функция или что-то еще. В любом случае есть [Агрегация] (http://docs.mongodb.org/manual/applications/aggregation/), есть [MapReduce] (http://www.mongodb.org/display/DOCS/MapReduce), но вы нужно предоставить более подробную информацию для ответа на этот вопрос, неясно, что вы пытаетесь запросить. – chx

+1

Хорошо. Итак, вот что я пытаюсь сделать. У меня есть такие записи: 'title: My Great Work, автор: John, price: 15' ' title: My Great Work, автор: Carol, price: 15' 'title: Something Else, автор: John, цена: 28' 'title: Something Else, автор: Carol, цена: 28' ' название: еще один, автор: Tim, цена: 10' И результат должен просто выбросить дубликаты, имеющие одинаковое название , Однако я не хочу их удалять. Просто покажите одну запись за заголовок. Это помогает? – Avishai

ответ

Смежные вопросы