2016-07-26 1 views
3

У меня есть база данных mongo, которая хранит номера в отеле. Существуют различные типы комнат (синглы, парные и т. Д.). Я хочу, чтобы пользователь мог определить свой тип комнаты. Можно ли получить список из mongoose, который содержит ровно один из каждого типа комнаты, аналогичный запросу SQL DISTINCT?Может ли мангуста получить разные значения для определенного поля?

Я бы предпочел избежать хранения различных типов комнат в отдельной модели, поскольку это добавило бы дополнительной сложности.

Я использую ES6, поэтому, если это упростит его, продолжайте.

+0

Я взял у меня некоторое время, чтобы найти «отличное» ключевое слово, вот почему я не нашел других вопросов для этого ... –

ответ

6

Я считаю, что Мангуст также имеет свою собственную версию distinct with a model object или distinct with a query object

Для примера, кажется, что вы могли бы сделать что-либо, так что вы можете сделать что-либо:

Model.distinct('room_type', function(err, room_types) { 
    //do something with room_types 
}); 

или

Model.find({}).distinct('room_type', function(err, room_types) { 
    //do something with room_types 
}); 

соответственно.

+0

А, я просто нашел онлайн-документацию. Я понятия не имел, насколько мощным мангустом на самом деле. Это именно то, что я ищу ... –

+0

Я пробовал ваш метод, но это то, что я получаю в результате. Cast to ObjectId не удалось присвоить значения «категории» по пути «_id» для модели «MCQ» – Kannan

+0

Bro извините, что была моя ошибка, я сделал некоторую ошибку в API, ваш код отлично работает, спасибо за это – Kannan