编辑: 重复的:Mongoose find() not returning result
我是nodejs和nosql db的新手。今天,我正在创建一个API,该API读取具有两个条目的用户集合:
问题在于结果是一个空数组:
以下是代码:
模型:
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);
});
});
答案 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) {}