猫鼬:.find()不返回任何文档

时间:2018-10-14 17:08:27

标签: javascript node.js mongodb express mongoose

编辑: 重复的:Mongoose find() not returning result


我是nodejs和nosql db的新手。今天,我正在创建一个API,该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 :(得分:2)

您可能希望(即使没有必要)将查询条件传递到您的find查询中:

对于所有用户,条件将是:{}

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

            res.json(users);
        });

但是我发现,如果通过某种方法创建了集合,则您的find可能无法正常工作。 Mongoose find() not returning result

这可能是问题所在。正常的代码方面,你很好。我建议您删除该集合,并从猫鼬本身开始插入。这样会更干净

希望这会有所帮助!

答案 1 :(得分:0)

尝试一下...

User.find({}, function(err, docs) {}