Задать вопрос
@qfrontend

Как сделать поиск в MongoDB возвращается пустой массив?

Приветствую) Подскажите пожалуйста что я делаю не так?
Как сделать поиск в MongoDB ?
Надо сделать поиск по полям (login, password)....
Они находятся во вложенном объекте (user).
Почему возвращается пустой массив?

DB
{
 _id: ObjectId("5f4d31dc5e7b610a0c7914d2")
 user: {
        login:  "qwerty",
        password:  "123"
    }
}


userSchema.js
const UserSchema = new Schema({
    user: {
        login: String,
        password: String
    },
    jwt: String
});


api.js
router.post('/users/user/:login', (req,res) => {
   User.find({login: req.body.login, password: req.body.password})
   .then((data) => {
       console.log(data);
    })
});
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
hzzzzl
@hzzzzl
const UserSchema = new Schema({
    user: {
        login: String,
        password: String
    },
    jwt: String
});


тут получается, что каждый документ user будет в себе содержать вложенный объект в духе
user: { user: {login, password} }, так и имелось в виду? или всё же так

const UserSchema = new Schema({
    login: String,
    password: String,
    jwt: String
});

// если так, то сработает
User.find({login: req.body.login, password: req.body.password})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы