mongo不返回数据

时间:2018-05-22 14:45:03

标签: node.js mongodb mongoose

我对此代码的问题。

ask.find({nchapter:1},function(err,user){
    res.json(user);
});

Mongo不会返回任何值。 但是如果我们删除该项,代码就可以正常工作。

ask.find({},function(err,user){
    res.json(user);
});

并返回数据库中的所有数据。我的数据库集合enter image description here所有其他集合都运行良好。 我的架构数据库enter image description here

为什么你认为这段代码不起作用?

ask.find({nchapter:1},function(err,user){
    res.json(user);
});

所有代码:

var ask = mongoose.Schema({
nchapter:{
    type:Number,
    min: 0,
    max: 999,
    required:true,
    trim: true,
},
nlesson:{
    type:Number,
    min: 0,
    max: 999,
    required:true,
    index:true,
    trim: true,
},
ask:{
    type:String,
    required:true,
},
ta:{
    type:String,
    required:true,
},
tb:{
    type:String,
    required:true,
},
tc:{
    type:String,
    required:true,
},
td:{
    type:String,
    required:true,
},
answer:{
    type:Number,
    required:true,
    trim: true,
},});

var ask = mongoose.model("ask",ask);
app.post('/getask',function(req,res){
    var reqAsk={
        nchapter:req.body.code_c,
        nlesson:req.body.code_l
    };
    ask.find({nchapter:1},function(err,user){
        res.json(user);
    });
});

1 个答案:

答案 0 :(得分:0)

您已将nchapter声明为Number,但将数据库中的所有数据保存为String。因此查找查询找不到任何内容,但没有任何参数,则返回所有数据。 祝你好运