2016-12-27 6 views
0

У меня есть mongoose модель:Mongoose запроса через элемент внутри массива

let schema = new Schema({ 

    email: { 
     type: String, 
     required: true, 
     unique: true 
    }, 
    password: { 
     type: String 
    }, 
    username: { 
     type: String, 
     unique: true 
    }, 
    confirmed: { 
     type: Boolean 
    }, 
    payload: [{ 
     type: { 
      token: blablabla, 
      type: blablabla 
     } 
    }] 

}); 

И я хочу найти пользователя по payload.token. Как я могу это сделать? Я пробовал $elemMatch, но он не работает.

+0

Что 'blablabla'? – chridam

+0

Просто какая-то переменная –

+0

Я сделал ошибку: полезная нагрузка должна быть массивом объектов –

ответ

1

Вы можете сделать

.find({'payload.type.token': token}) 
+0

большое спасибо! –

0

Если payload массив объектов, и вы хотите, чтобы найти пользователей с помощью токенов значения, ниже запрос должен работать:

db.users.find({payload: {$elemMatch: {'type.token':'blablabla'}}}); 
Смежные вопросы