0

我使用 MongoDB 的 .NET 驱动程序。我的问题是:

什么是可取的,为什么:

在 MongoDB 服务器上使用 javascript 处理数据

或者

将数据加载到客户端并使用驱动程序方法完成所有工作?

4

2 回答 2

5

如果可能,您应该避免使用 JavaScript 在 mongodb 服务器上处理数据。原因是 JavaScript 引擎是单线程的。这意味着一次只能有一个线程运行 JavaScript 引擎。可以想象,如果您有多个客户端连接到 mongodb,这将极大地影响性能——所有这些请求都将被序列化。

于 2012-09-04T20:21:49.707 回答
4

您不应该像许多使用 JS 函数的人认为的那样陷入尝试使用“存储过程”的陷阱。我很好地解释了为什么您不应该在此处的查询中使用 JS:过程是否存在于 mongodb 中

对于 MongoDB 中的数据处理,您有以下三种选择:

  • 地图减少
  • 客户端
  • 预聚合。

所有这些方法都更可取并且更好。至于在您的情况下哪个更可取:这完全取决于您要完成的工作。

当然,从 2.2(刚刚发布)开始,您获得了绕过 JS 引擎并为您提供更多灵活性的聚合框架。

于 2012-09-04T20:48:07.330 回答