mongoose总是返回一个空数组NodeJS
我已经尝试过使用find
并且findOne
都没有返回文档。find
是在返回一个空数组findOne
被返回null
。err
在这两种情况下null
也是如此。
这是我的联系:
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,因此我认为我只是缺少一些基础知识。向正确方向的任何推动都是很棒的!
回答:
mongoose.model
建立模型所绑定的集合的名称的调用,默认值为复数的小写模型名称。因此,使用您的代码将是'models'
。要将模型与files
集合一起使用,请将该行更改为:
var Model = mongoose.model("Model", fileSchema, "files");
要么
var Model = mongoose.model("file", fileSchema);
以上是 mongoose总是返回一个空数组NodeJS 的全部内容, 来源链接: utcz.com/qa/415751.html