对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

应用设计模式

模式设计模式是针对应用程序的访问模式优化数据模型的方法。 它们可提高应用程序性能并降低模式复杂性。 模式设计模式会影响数据的存储方式以及返回到应用程序的数据。

有关模式设计形式和示例的列表,请参阅使用模式构建MongoDB 博客系列。

在实现模式设计模式之前,请考虑您要解决的问题。每种模式设计模式都有不同的使用案例,以及数据一致性、性能和复杂性方面的权衡。

在不了解应用程序及其所需数据的情况下实施模式可能会降低应用程序性能并导致不必要的复杂化。

考虑一家电影院使用的以下示例模式:

  • 该模式包含一个 movie集合和一个 theater集合。该模式使用子集模式将 movie集合中的信息子集复制到 theater集合中。子集模式可减小返回到应用程序的文档大小并提高读取性能。

  • movie集合包含一个total_views 字段,该字段运行计算出的模式来计算客户在所有放映这部电影的电影院观看该电影的总次数。

db.movie.insertOne( { _id: 1, title: "Titanic", year: 1997, director: "James Cameron", runtime: 194, distributor: "Paramount Pictures", languages: [ "English" ], total_views: 3500 })
db.theater.insertMany( [ { name: "Downtown Cinemas", address: { street: "2212 Taylor Street", state: "NY" }, movies: [ { movie_id: 1, title: "Titanic", runtime: 194, views: 1500 } ] }, { name: "Midtown Theater", address: { street: "1232 5th Street", state: "NY" }, movies: [ { movie_id: 1, title: "Titanic", runtime: 194, views: 2000 } ] } ])