Хотите проверить, если пользователь уже существует MongoDB - PullRequest
0 голосов
/ 13 марта 2019

мое обещание всегда отклоняется, даже если _name, которое я передаю в параметрах, не всегда совпадает с именем в коллекции, любая помощь будет высоко оценена Спасибо!

    myCheckUser(_name) {
        var self = this;
        return new Promise((resolve, reject) => {
            self.db.collection("USER").find({ "username": _name }, { $exists: true }).toArray(function    (err, doc) //find if a value exists
            {
                console.log("DOC USERNAME: " + doc.username);
                if (doc) //if it does
                {
                    reject("Found user");
                    console.log(doc.username); // print out what it sends back
                }
                else // if it does not 
                {
                    console.log("Not in docs");
                    resolve("Not found continue logic!")
                }
            }
            )
        });
    };

1 Ответ

2 голосов
/ 13 марта 2019

Вы должны разрешить обещание, если данные найдены, и отклонить обещание. Я исправил ваш код ниже:

    myCheckUser(_name) {
        var self = this;
        return new Promise((resolve, reject) => {
            self.db.collection("USER").find({ "username": _name }, { $exists: true }).toArray(function    (err, doc) //find if a value exists
            {
                if (doc && doc.length) //if it does
                {
                    console.log(doc); // print out what it sends back
                    resolve("Found user");
                }
                else // if it does not 
                {
                    console.log("Not in docs");
                    reject("Not found continue logic!")
                }
            }
            )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...