Mongoose总是返回一个空的数组NodeJS

我已经尝试使用findfindOne并且都不返回文档。 find返回一个空数组而findOne返回null 。 在这两种情况下都是err

这是我的连接:

 function connectToDB(){ mongoose.connect("mongodb://localhost/test"); //i have also tried 127.0.0.1 db = mongoose.connection; db.on("error", console.error.bind(console, "connection error:")); db.once("open", function callback(){ console.log("CONNECTED"); }); }; 

这是我架构:

 var fileSchema = mongoose.Schema({ hash: String, type: String, extension: String, size: String, uploaded: {type:Date, default:(Date.now)}, expires: {type:Date, default:(Date.now()+oneDay)} }); var Model = mongoose.model("Model", fileSchema); 

我的查询在这里:

 Model.find({},function(err, file) { console.log(err) console.log(file); }); 

我可以上传东西到数据库,并通过RockMongo看到他们,但我无法取回他们后。 这是我第一次使用MongoDB,所以我想我只是缺less一些基础知识。 任何推向正确的方向将是伟大的!

mongoose.model的调用build立了模型绑定到的集合的名称,默认情况下是复数forms的小型模型名称。 所以用你的代码,这将是'models' 。 要使用带有files集合的模型,请将该行更改为:

 var Model = mongoose.model("Model", fileSchema, "files"); 

要么

 var Model = mongoose.model("file", fileSchema);