如何将mongoDb请求分组以获得更好的性能?

时间:2012-10-19 14:57:21

标签: mongodb

有没有办法将请求分组到MongoDb?

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

我想知道是否有办法将它们组合在一起,只通过网络发送一个请求。

1 个答案:

答案 0 :(得分:1)

MongoDB的wire protocol是针对每条消息的单个操作而设计的,因此不支持将多个操作分组到单个请求中。唯一接近这一点的是bulk insert,但这实际上是一个需要多个文档的操作。

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