Как я могу искать определенные данные в массиве внутри базы данных мангуста?

var campgroundSchema = new mongoose.Schema({
    likey:{
        numOfLikeys:{
            type:Number,
            default:0
        },
        whoLiked:[{
            id:{
                type:mongoose.Schema.Types.ObjectId,
                ref:"User"
            },
            username:String
        }]
    }
});

Я хочу найти "имя пользователя" внутри массива whoLiked. Я пробовал это: Campground.find ({likey.whoLiked.username: req.user.username}, ...);

заключите "likey.whoLiked.username" в двойные кавычки

Ashh 25.08.2018 06:42

Возможный дубликат Найти в двойном вложенном массиве MongoDB

Ashh 25.08.2018 06:44
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
1
2
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Должен быть:

Campground.find({ "likey.whoLiked.username": req.user.username })

Где "likey.whoLiked.username" заключен в строку, чтобы указать весь путь поиска.

Убедитесь, что req.user.username также является действительным допустимым значением.

Большое спасибо за ответ :) Мне это очень помогло

Jinwook Kim 25.08.2018 07:36

Другие вопросы по теме