Я хотел бы создать запрос Mongoose для запроса к полю, вложенному в массив.Каждый документ в коллекции может иметь массив различной длины, и я хочу запрашивать только последнюю запись в каждом массиве.
Вот моя структура документа:
User:
-- authData
-- []
--username
--value
i.e,
UserSchema = new Schema({
authData: [{
username: {
value: String
}
}]
})
Вот некоторые измои очень наивные подходы пока.Первый не компилируется, а последний получает ошибки времени выполнения («Не удается прочитать свойство 'username' undefined"):
Approach 1:
UserObj.find({authData[authData.length].username.value: 'john'}, function(err, docs){});
Approach 2:
UserObj.find({}, function(err, docs){
docs.filter(doc =>
doc['authData'].filter((itm,idx,arr)=>{
arr[itm.length-1].username.value === 'john'
}));
. . .
Есть идеи, как правильно построить запрос?Спасибо!