【发布时间】:2011-01-21 04:18:15
【问题描述】:
既然真的是not possible to return a single embedded document(尚未),那么什么是好的数据库设计替代方案?
这是一种情况。我有一个对象首先。 First 有一个 Second 对象数组。 Second 有一个 Third 对象数组。
db.myDb.findOne()
{
"_id" : ObjectId("..."),
"Seconds" : [
{
"Second Name" : "value",
"Thirds" : [
{
"Third Name" : "value"
}
]
}
]
}
我有一个显示 First 对象列表的网站。您可以选择第一个对象,它将带您进入显示第一个详细信息的页面,其中包括第二个对象的列表。如果您选择第二个对象,则会发生同样的事情。
当打开第三个页面时,查询获取单个 First 对象似乎是不正确的,然后一些如何深入代码以获取正确的第三个对象的数据。直接获取一个 Third 对象会容易得多,可能是通过 _id。
也许我仍然太困在 SQL 领域,但在这种情况下,我的想法是为每种类型创建一个集合并让它们相互引用,因为我需要从树中获取单个对象,并且不要像在非网络应用程序中那样在每个请求中保留对对象的引用。
这是否是解决此问题的正确方法,还是我只是在文档领域没有清楚地思考?
【问题讨论】:
标签: architecture schema mongodb