文档菜单

应用设计模式

模式设计模式是优化应用程序访问模式数据模型的方法。它们提高了应用程序性能并减少了模式复杂性。模式设计模式影响数据存储方式和返回给应用程序的数据。

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

在实施架构设计模式之前,请考虑您要解决的问题。每种架构设计模式都有不同的用例以及数据一致性、性能和复杂性的权衡。例如,某些架构设计模式可以改进写入性能,而其他则可以改进读取性能。

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

以下是一个电影院连锁店使用的以下示例模式:

  • 架构包含一个movie 收集和一个 theater 收集。架构使用 子集模式theater 收集中重复 movie 收集中的一部分信息。子集模式减少了返回给应用程序的文档大小并提高了读取性能。

  • 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
}
]
}
]
)