我尝试过使用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,所以我想我只是错过了一些基础知识。任何在正确方向上的推动都是很棒的!
发布于 2013-01-06 23:55:02
对mongoose.model的调用建立了模型所绑定到的集合的名称,缺省值是pluralized,小写的模型名称。因此,对于您的代码,这将是'models'。要将模型与files集合一起使用,请将该行更改为:
var Model = mongoose.model("Model", fileSchema, "files");或
var Model = mongoose.model("file", fileSchema);发布于 2020-05-27 02:13:35
简单地说,为了避免复数复杂性,请使用下面的代码:
var Model = mongoose.model("Model", fileSchema, "pure name your db collection");这对我来说是非常confusing.at的。
发布于 2020-09-29 06:52:45
也有同样的问题。上面的解决方案对我不起作用。即使没有找到查询,我的应用程序也不会返回错误。它返回空数组。因此,我在代码中添加了以下内容:
if(queryResult.length==0) return res.status(404).send("not found");https://stackoverflow.com/questions/14183611
复制相似问题