mongoose查询结果为[]

var mongoose = require('mongoose');
mongoose.connect('mongodb://172.20.10.5/car');
var carSchema = new mongoose.Schema({
    name: String
})
var Car = mongoose.model('car', carSchema);

Car.find({},function(err,cars){
    if(err){
        return console.error(err);
    }
    console.log('result:');
    console.log(cars);
})

结果为什么是[]?

clipboard.png
数据库里有4条记录

clipboard.png
在终端用命令db.car.find()可以正常查出来4条数据

clipboard.png

阅读 3.6k
3 个回答

mongoose 会小写化 +上s, 可以通过mongoose.model(‘Car’, CarSchema, “your collection name”);来指定

找到原因了,原来mongodb把car集合名称变成复数存储了,但是为什么会这样呢
clipboard.png

新手上路,请多包涵

为什么会给collection的名字加上“s”,这个坑让我足足折腾了一周多的时间,我表示严重抗议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题