0

有没有办法对 MongoDb 的请求进行分组?

例如,我有一个来自 C# 代码的 collection.find 和三个 collection.aggregate 请求。

我想知道有没有办法将它们组合起来并通过网络只发送一个请求。

4

1 回答 1

1

MongoDB 的有线协议设计用于每条消息的单个操作,因此不支持将多个操作分组到单个请求中。唯一接近这一点的是批量插入,但这实际上是一个需要多个文档的操作。

在非分片 MongoDB 系统上,您可以想象通过单个eval命令执行多个服务器端操作。这将需要向 MongoDB 发送一个 JavaScript 函数,该函数运行多个操作,然后将它们的结果填充到要返回的单个结果中。但是,我很难想到一种现实情况,在这种情况下,这比通过驱动程序发送多个请求更可取(JS 性能较差,存在并发问题等)。

于 2012-10-19T19:23:21.083 回答