【发布时间】:2019-12-12 20:47:20
【问题描述】:
我正在使用 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);
}
}
异常
搜索后,我尝试将 ?retryWrites=true 添加到我的连接字符串
mongodb://username:password@ds062807.mlab.com:62807/?retryWrites=true/robobalancedb
我遇到了异常
MongoDB.Driver.MongoConfigurationException: 'retryWrites 的布尔值为 false/robobalancedb。'
并尝试在 _client 字段中设置 RetryWrites
_client.Settings.RetryWrites = false;
遇到异常
System.InvalidOperationException: 'MongoClientSettings is frozen.'
【问题讨论】:
-
你试过
mongodb://username:password@ds062807.mlab.com:62807/robobalancedb?replyWrites=false吗? -
是的,我试过了