从 MongoDB 获取 json 数据返回空数组而不是实际数据

问题描述 投票:0回答:1

我正在使用连接字符串连接到名为 myflixDB2 的 MongoDB 数据库。我在从数据库获取数据时遇到问题。我的 MongoDB 中显然有数据,但由于某种原因总是返回一个空数组,就好像集合是空的。connection stringendpoint in question

Also here is my schema

我希望将电影标题列表获取到我的单页应用程序的主视图组件中。我检查了我的连接字符串,甚至创建了第二个数据库,尝试与该数据库进行交互,但仍然没有运气。我处理这个问题的时间比我愿意承认的要长。我错过了什么吗?任何帮助将不胜感激!

arrays mongodb fetch connection-string is-empty
1个回答
0
投票

根据 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'  
© www.soinside.com 2019 - 2024. All rights reserved.