Node.Js - возвращает 1, если в MongoDB не найдено ни одного соответствующего документа - PullRequest
1 голос
/ 12 марта 2020

Следующий запрос написан на MongoDB, я хочу изменить его так, чтобы при отсутствии подходящей записи он возвращал 1.

Код:

 db.collection("uses").find({users:uid}).toArray((err,response) => {
    if(err){
        throw err;
    }
    if(response){
        res.json(uid);
    }
    else{
        res.json("1");
    }    
})

1 Ответ

1 голос
/ 12 марта 2020

.find () вернет курсор, и, поскольку вы используете .toArray() для курсора, он вернет массив объектов / документов, если они совпадают, или пустой массив, поэтому Ваш следующий код добавление response.length должно работать:

 db.collection("uses").find({users:uid}).toArray((err,response) => {
    if(err){
        throw err;
    }
    if(response && response.length){
        res.json(uid);
    }
    else{
        res.json("1");
    }    
})
...