【问题标题】:What is the best way to use mongoDB with node.js?将 mongoDB 与 node.js 一起使用的最佳方法是什么?
【发布时间】:2012-04-01 16:37:25
【问题描述】:

我需要在本地以及 Nodester 和 MongoHQ 等云服务上运行带有 node.js 的 MongoDB。我希望有最小的依赖,例如我现在不想使用 Express 或 Mongoose。基本上,我想尽可能“直接”运行它

我已经使用 Macports 在本地安装了 Mongo,然后使用 Mongojs 模块从我的 node.js 应用程序中与之对话。这工作正常,在本地运行。但是我看到 Mongojs 应该包装了 mongo-native 模块。这是否使它与 Mongo 的 Macports 安装冗余,或者 mongo-native 只是一个客户端? Mongojs 是否会通过 Nodester 上托管的应用程序与 MongoHQ 上托管的数据库进行通信?最后,Mongojs是一个不错的选择,还是有更好的选择?

我想有太多相互关联的事物让我感到困惑,我想解释一下它们是如何组合在一起的,以及标准做法是什么。对于它的价值,这是一个个人项目,但我想将其公开,所以我需要它与廉价或免费的托管服务一起使用。

【问题讨论】:

  • Mongo-native 是 MongoDB 的 Node.js 驱动程序,它不同于官方 10gen 附带的 mongo 二进制文件(其中之一,默认在 SpiderMonkey 上运行并且不做异步 IO)包裹。所以它不是多余的,从数据库服务器的角度来看,它确实像一个客户端。
  • 我想避免过多的依赖项是个好主意,但 NPM 使得管理依赖项和在 NodeJS 世界中相对轻松......依赖项发生了!我只提到它是因为我已经使用了很多 Mongoose,而且它非常无痛。就我个人而言,收益远大于风险。
  • 我明白你的意思@JonathanRowny,我想我倾向于从更接近金属的地方开始,所以我明白我做得更好。我想这真的不是依赖问题,而是更多的一层。一旦我更直接地使用 Mongo 做了一个小项目,我将考虑在下一个项目中使用 Mongoose。 Mongojs 对我来说似乎是正确的抽象级别,但它似乎不是很流行,所以我可能会跳过它并使用 mongo-native。
  • @Ren,这很有帮助,谢谢。

标签: javascript node.js mongodb cloud-hosting


【解决方案1】:

这取决于您的需求。我是 mongodb 本机驱动程序的作者,我会说如果您没有非常具体的性能需求,mongoose 可能是有意义的,因为它可以让您对文档进行一些建模并且更接近 ODM 的概念.对于您正在使用的包装器,它们有一大堆。来看看

http://mongodb.github.io/node-mongodb-native/

https://github.com/christkv/node-mongodb-native

我已尝试添加所有可能相关的项目,并且每次构建文档时它都会提取统计信息以将项目标记为活动或不活动。

如果您需要原始性能,请直接使用我的驱动程序或围绕它的瘦包装器之一,例如 mongojs 或 mongoskin。

我正在与 mongoose 的作者之一 Aaron 谈论可能会尝试在 mongoose 和驱动程序之间创建一个框架,但目前这只是一个谈话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    相关资源
    最近更新 更多