1
0
在这个场景中,您可能会发现差异主要是由于必须执行两个连接/查询,这两个连接/查询主要与您的网络相关。 例如,在事务集合中引用的用户集合的情况下,将使用选项1。 其思想是,如果您需要连接两个集合,那么只有在连接的集合将被多次引用并且具有复杂文档时,才可以这样做。 如果只是有一个名称集合,然后在另一个集合中引用,那么这是错误的。 如果需要连接两个Mongo集合,请考虑使用聚合,这样Mongo服务器可以在一次命中中获得数据,而不需要执行多个查询。
为了让您了解性能,目前的第一个选项需要两倍的时间,因为它必须连接两次。如果同一个查询经常发生,那么您将真正看到一个性能损失而没有任何收益(除非“computation”字段变化很大,否则这可能是合理的)。如果您使用的是聚合,那么就不会真正看到任何性能损失,因为它被认为是单个连接。 选项二只是一次查找,然后是返回数组数据所需的时间。所以在大多数情况下,使用聚合时与选项1相同。
|
Hayato · 如何检查我是如何安装MongoDB的 2 年前 |
Valeri · 如何仅获取布尔值数组中没有“false”的文档? 2 年前 |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
danilonet · MongoDb。NET-ObjectId序列化 2 年前 |
Windy · MongoDB-查询计算和分组多个项目 2 年前 |
Mike Kharkov · 无法从数据库中检索多个值 2 年前 |