Mongoose总是返回一个空的数组NodeJS
我已经尝试使用find
和findOne
并且都不返回文档。 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);