Mongoose: .find () не возвращает ни одного документа - PullRequest
0 голосов
/ 14 октября 2018

РЕДАКТИРОВАТЬ: Дубликат: Mongoose find () не возвращает результат


Я новичок в nodejs и nosql db .. Сегодня я 'm создаю API, который читает мою коллекцию пользователей с двумя записями:

The collection (with two entries)

Проблема в том, что в результате получается пустой массив:

Result

Вот код:

Модель:

var mongoose     = require('mongoose');
var Schema       = mongoose.Schema;

var UserModelSchema   = new Schema({
    _id: Schema.Types.ObjectId,
    user_id:String,
    age:{ type: Number },
    status:String
});

module.exports = mongoose.model('user', UserModelSchema);

app.js:

//...
var User     = require('./app/models/user');
//...
router.route('/users')
// get all the users 
.get(function(req, res) {
    User.find(function(err, users) {
        if (err)
            res.send(err);

        res.json(users);
    });
});

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

Попробуйте это ...

User.find({}, function(err, docs) {}
0 голосов
/ 14 октября 2018

Возможно, вы захотите (даже если в этом нет необходимости) передать условие запроса в ваш find запрос:

Для всех пользователей условие будет: {}

User.find(<condition>, function(err, users) {
            if (err)
                res.send(err);

            res.json(users);
        });

Но я обнаружил, что если коллекция была создана каким-то методом, есть вероятность, что ваш find может не работать. Mongoose find () не возвращает результат

Это может быть проблемой.Нормальный код, ты хороший.Я бы посоветовал вам удалить эту коллекцию и начать делать вставки из самой мангусты.Это будет чище

Надеюсь, это поможет !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...