【问题标题】:Node.js mongoose performanceNode.js 猫鼬性能
【发布时间】:2012-08-12 03:04:32
【问题描述】:

有没有人有使用 mongoose.js 作为 Node.js 映射器的大规模 Mongodb 的经验?

我想知道是否应该使用本机驱动程序,所以我保持一切轻量级或编写一个简单的包装器。

如果有人得到一些建议,非常感谢。

【问题讨论】:

  • 相当肯定 mongoose 在后台使用本机驱动程序。 mongoosejs.com/docs/api.html
  • 确实如此,而且 mongoose 还可以在需要时轻松直接使用原生调用。

标签: javascript node.js mongodb mongoose


【解决方案1】:

聚会有点晚了,但根据this article Mongoose 的表现比原生 MongoDB Node.js 客户端更差。 对于收集的每个指标(查询和插入),Mongoose 或多或少都会变慢(操作数/秒)。

可以找到带有基准测试的源代码here

【讨论】:

  • 有用的链接,这就是为什么我赞成你的答案。
【解决方案2】:

除非你真的需要 ORM\ODM,否则我建议你根本不要使用 Mongoose。

似乎大多数人(包括我,简单地说)都在使用 Mongoose,因为原生驱动程序的 api 笨拙且难以理解。

这就是我切换到mongojs 的原因。 Mongojs 是一个封装了原生驱动的模块,但 api 更简洁,几乎与 mongo shell 相同。

我不能真正评论 Mongoose 的可扩展性,但 mongojs 就是这样,一个围绕原生驱动程序的轻量级包装器。

【讨论】:

  • 你能否用真实世界的问题来支持 Mongoose 的缩放,或者它只是基于它不是驱动程序的轻包装?据我了解,Trello 是一个使用 Mongoose 生产的大型 node.js 应用程序,它对他们来说性能足够好。 Mongoose 中有很多很棒的特性(中间件、插件、虚拟程序、严格的模式定义、相关文档填充等等)可以节省开发时间——它不仅仅是替换笨重的驱动程序 api。失去它以获得真正的性能提升很好,但你的立场是基于什么研究?
  • 对 -1 感到抱歉,但这是 IMO 无法回答的问题 - OP 要求提供性能和可扩展性详细信息,而您没有提供任何信息,只是说您曾经使用过它,但不再使用了 - 没有理由或客观信息。你说“这就是我改用 mongojs 的原因”——但你根本没有解释 为什么
猜你喜欢
  • 2019-09-16
  • 2013-12-03
  • 2019-02-09
  • 1970-01-01
  • 2015-10-23
  • 1970-01-01
  • 1970-01-01
  • 2020-06-03
  • 1970-01-01
相关资源
最近更新 更多