我正在使用连接字符串连接到名为 myflixDB2 的 MongoDB 数据库。我在从数据库获取数据时遇到问题。我的 MongoDB 中显然有数据,但由于某种原因总是返回一个空数组,就好像集合是空的。
我希望将电影标题列表获取到我的单页应用程序的主视图组件中。我检查了我的连接字符串,甚至创建了第二个数据库,尝试与该数据库进行交互,但仍然没有运气。我处理这个问题的时间比我愿意承认的要长。我错过了什么吗?任何帮助将不胜感激!
根据 docs,创建架构时,最佳实践是使用
new
关键字创建 Schema
类的新实例。像这样更新您的架构:
const movieSchema = new mongoose.Schema({
Title: {type: String, required: true},
Description: {type: String, required: true},
Genre: {
Name: String,
Description: String
},
Director: {
Name: String,
Bio: String
},
Actors: [String],
ImagePath: String,
Featured: Boolean
});
然后,当您编译模型时,您需要确保
mongoose.model()
方法的第一个参数是集合名称的单数版本,因为猫鼬使用它来推断集合名称:
第一个参数是模型所属集合的单一名称。 Mongoose 自动查找您模型名称的复数小写版本。
像这样更新:
const Movie = mongoose.model("Movie", movieSchema);
// This will look for a collection called 'movies' because 'Movie' -> 'movies'