gpt4 book ai didi

scala - MongoDB - 按引用排序或 'Foreign Key' (Liftweb, Scala)

转载 作者:行者123 更新时间:2023-12-05 01:03:19 26 4
gpt4 key购买 nike

我有一个用户,其中包含一个指向组织的引用字段“o”:

> db.users.findOne()
{
"o" : ObjectId("4ec3548544ae1b7234548826")
}

组织包含字段“n”:

> db.organisations.findOne()
{
"n" : "My organization"
}

我想要一个按 o.n 排序的用户列表,最好是在 Scala/Lift 中。

最佳答案

您实际上要求的是 JOIN。 MongoDB 没有 JOIN 的概念。

从服务器的角度来看,集合根本不知道彼此。一些工具将其抽象化(例如 Morphia),但实际上只有两种基本方法可以实现这一点:

  1. 手动加入:加载users,再加载organizations,合并到客户端加入。
  2. 非规范化:在 users 集合内存储 N 字段的副本(并保持同步)。这将使您的查询快速运行,但会使更新复杂化。

缺少 JOIN 是 MongoDB 的基本权衡之一。如果这是一个常见查询或基本查询,您必须执行 #1、#2 或 #3:选择不同的数据库。

关于scala - MongoDB - 按引用排序或 'Foreign Key' (Liftweb, Scala),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8381912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com