【问题标题】:What is the most mature MongoDB driver for C#?C#最成熟的MongoDB驱动是什么?
【发布时间】:2010-04-29 06:41:44
【问题描述】:

所以,有

  • mongodb-csharp
  • simple-mongodb
  • 没有RM

作为 MongoDB 的 C# 驱动程序可用。

哪一个是最成熟稳重的? 为什么你会选择其他两个?

他们准备好生产了吗?

【问题讨论】:

  • 仅作记录:我选择了 NoRM 作为我的默认设置,到目前为止我对它非常满意。
  • 更新:现在有一个MongoDB开发团队支持的官方MongoDB c#驱动:mongodb.org/display/DOCS/CSharp+Language+Center
  • 我认为 NoRM 目前实际上已经死了,直到找到另一个维护者。

标签: c# mongodb norm mongodb-.net-driver


【解决方案1】:

自从回答了这个问题以来,10gen 已经发布了一个official MongoDB C# driver,虽然它在年龄方面不是最成熟的 C# 驱动程序,但在 10gen 之后它可能最终成为最新的。

它比 mongodb-csharp 驱动程序低级(目前不支持 Linq),但我们还没有发现这是一个问题。我们最近在一个项目(尚未投入生产)中从 mongodb-csharp 迁移到官方驱动程序,原因如下:

  • 正式版本中的副本集支持
  • SafeMode 允许您指定必须将写入复制到多少台服务器
  • 驱动程序处理与数据库的连接/断开连接
  • 我们希望作为官方驱动,它会有更多的开发者支持

【讨论】:

    【解决方案2】:

    mongodb-csharp 驱动程序即将大力推动对 typedcollections 的支持,其中包括完整的 Linq 支持。我想你会发现它很容易工作。

    其他 2 个项目也在推进中。如果您想要 .NET 4.0 支持,simple-mongodb 将是您的最佳选择。

    NoRM 拥有一大批提交者,他们都是出色的编码人员,所以除了没有正式发布之外,没有任何问题。

    【讨论】:

    • 我还要提一下,虽然我们还没有“正式”发布,但我们的API非常稳定,我觉得驱动是生产质量的。
    • 只是为了让大家知道。我与 mongodb-csharp 的开发人员进行了交谈,现在处于维护模式。他们建议任何新项目使用官方的 MongoDB C# 驱动程序。 MongoDB 在驱动程序方面确实取得了很大进展,距离生产 1.0 版本还有几周时间。
    • 是的,大约是 4 年前制作的。
    【解决方案3】:

    我会选择Sam Cordermongodb-csharp。另请查看this 文章。

    【讨论】:

    • 在高流量项目中,Sam Corder 驱动程序确实存在巨大问题。永远不要在大型​​项目中使用 Samus。
    【解决方案4】:

    对于所有好奇的人。目前最好的组合似乎是官方 10gen C# 驱动程序结合 fluent-mongo 来支持 Linq:

    https://github.com/mongodb/mongo-csharp-driver

    https://github.com/craiggwilson/fluent-mongo

    更新:随着官方 C# 驱动程序 1.4 的发布,不再需要 fluent-mongo。

    【讨论】:

      【解决方案5】:

      您应该使用来自 nuget package 的 MongoDB.Driver。

      您可以通过观看此视频查看 MongoC# 示例的完整教程 https://www.youtube.com/watch?v=6x0-vHHHpv8

      【讨论】:

        【解决方案6】:

        避免使用 mongodb-csharp 驱动程序的几个原因:

        1. 不支持“或”逻辑。
        2. 它似乎不支持地理空间查询,至少我们无法让它工作。

        【讨论】:

          【解决方案7】:

          官方 10gen C# 驱动程序的类型化构建器(更新、查询)存在性能问题。见How to speed up typed builders in 10gen official MongoDB C# driver?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-05-09
            • 2011-01-24
            • 2019-04-27
            • 2011-09-14
            • 2011-04-05
            • 1970-01-01
            • 1970-01-01
            • 2011-03-05
            相关资源
            最近更新 更多