c# - 使用 Mongo 驱动程序将文件上传到 Mongo Atlas

标签 c# mongodb mongodb-replica-set

我正在尝试使用 C# Mongo 驱动程序将文件上传到 Mongo Atlas。但我不明白如何连接类 MongoServerSettings。我试过这个:

private static MongoServerSettings GetMongoConfig()
{
    var credential = MongoCredential.CreateCredential("admin", "XXXX", "XXXX");

    MongoServerAddress[] servers = new MongoServerAddress[3];
    servers[0] = new MongoServerAddress("cluster0-shard-00-00-XXXXX.mongodb.net", 27017);
    servers[1] = new MongoServerAddress("cluster0-shard-00-01-XXXX.mongodb.net", 27017);
    servers[2] = new MongoServerAddress("cluster0-shard-00-02-XXXX.mongodb.net", 27017);

    var ServerSetting = new MongoServerSettings {
        ConnectionMode = ConnectionMode.ReplicaSet,
        UseSsl = true,                
        Servers = servers,
        ReplicaSetName = "Cluster0-shard-0",
        Credentials = new[]{ credential },
    };

    return ServerSetting;
}

public static void SavePDFInvoice(HttpPostedFileBase file,string fileID, string userID, string userOwner)
{
    var Server = new MongoServer(GetMongoConfig());

    var grid = new MongoGridFS(Server, PDFDatabase, new MongoGridFSSettings());
    grid.Upload(file.InputStream, fileID, new MongoGridFSCreateOptions
    {
        Id = fileID,
        Metadata = new BsonDocument {
            { "userID", userID},
            { "userOwner", userOwner},
        } 
    });
}

但是,不起作用。

我可以连接到 mongoclient 类,但我不知道如何使用 MongoGridFS 类。

最佳答案

您可以查看此链接,了解如何使用 C# 连接到 mongodb Atlas

https://docs.atlas.mongodb.com/driver-connection/#c-net-driver-example

来自链接:

要连接到 Atlas M0(免费套餐)集群,您必须使用支持 MongoDB 3.4 的 C#/.Net 驱动程序版本。

var client = new MongoClient("your clister url");
var database = client.GetDatabase("test");

关于c# - 使用 Mongo 驱动程序将文件上传到 Mongo Atlas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44896141/

相关文章:

c# - ASP.NET Web API 与 ninject 绑定(bind)

javascript - MongoDb 从字符串运行命令

node.js - 使用 MongoDB 聚合计算计数和平均值

database - 当某些节点死亡时,mongo 副本集选举如何表现?

CQRS 与数据库副本集

database - 在没有副本集或最少配置的情况下启用 MongoDB 事务

c# - (wpf) Application.Current.Resources 与 FindResource

c# - 元素不可点击,另一个元素接收点击 - Selenium C#

c# - WPF MVVM Binding Checkbox.IsChecked 到 Dictionary<string, bool> 中的命名项

java - 使 SpringData 仅更新 POJO 的更改字段