如何修复 Mongo 中的 retryWrites?

Abd*_*aid 7 c# mongodb

我正在使用 mlab.com mongoDB,我可以查询它,但我不能插入它

那是我的课

public class Main
{
    private MongoUrl _url;
    private MongoClient _client;

    public Main(MongoUrl url)
    {
        url = new MongoUrl("mongodb://username:password@ds062807.mlab.com:62807/robobalancedb");
        _url = url;
        _client = new MongoClient(_url);
    }

    public async Task Login([Option]string username, [Option]string password)
    {

        var db = _client.GetDatabase("robobalancedb");

        var col = db.GetCollection<User>("users"); 

        var user = await (await col.FindAsync(x => x.Name == username && x.Password == password)).FirstOrDefaultAsync();

    }

    public async Task Supply([Option(ShortName="u")] string username, [Option(ShortName="a")]double amount, [Option(ShortName="d")]string description)
    {

        var db = _client.GetDatabase("robobalancedb");
        var col = db.GetCollection<OwnerSupply>("ownersupplies");

        var supply = new OwnerSupply(){
            Amount = amount,
            Description = description
        };

        await col.InsertOneAsync(supply);
    }
}
Run Code Online (Sandbox Code Playgroud)

例外

https://imgur.com/a/cSKNelR

搜索后,我尝试将 ?retryWrites=true 添加到我的连接字符串 mongodb://username:password@ds062807.mlab.com:62807/?retryWrites=true/robobalancedb

我得到了异常

MongoDB.Driver.MongoConfigurationException: 'retryWrites 有一个无效的布尔值 false/robobalancedb。'

并尝试在 _client 字段中设置 RetryWrites

_client.Settings.RetryWrites = false; 
Run Code Online (Sandbox Code Playgroud)

有异常 System.InvalidOperationException: 'MongoClientSettings is frozen.'

Abd*_*aid 18

我通过把它放在retryWrites=false连接字符串的末尾来解决它

mongodb://username:password@ds062807.mlab.com:62807/robobalancedb?retryWrites=false