[英]MongoDB - Sorting by Reference or 'Foreign Key' (Liftweb, Scala)
我有一个用户,其中包含指向组织的参考字段“ o”:
> db.users.findOne()
{
"o" : ObjectId("4ec3548544ae1b7234548826")
}
组织包含字段“ n”:
> db.organisations.findOne()
{
"n" : "My organization"
}
我想要一个按用户排序的列表,最好是在Scala / Lift中。
您真正想要的是加入。 MongoDB没有JOIN的概念。
从服务器的角度来看,集合根本不了解彼此。 一些工具可以将其抽象化(例如Morphia),但实际上只有两种基本方法可以实现此目的:
users
,然后加载organizations
,将它们合并在一起并加入客户端。 users
集合内(并使其保持同步)。 这将使您的查询工作更快,但会使更新复杂化。 缺少JOIN是MongoDB基本权衡之一。 如果这是常见查询或必要查询,则必须执行#1,#2或#3:选择其他数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.