Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

应用设计模式

在此页面上

  • 关于此任务
  • 例子
  • movie Collection
  • Theater Collection
  • 了解详情

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

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

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

在不了解应用程序及其所需数据的情况下实现模式,可能会降低应用程序性能,并给模式设计带来不必要的复杂化。

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

  • 该模式包含一个 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
}
]
}
]
)
  • 对特定应用程序上下文进行建模

  • 处理重复数据

  • 数据一致性

后退

映射关系