Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

My web service writes to a mongodb and I notice that under load, the writes are failing a lot. Reading this documentation I see that by default the settings are set to "Acknowledge" and reading this post It seems I need to set it to a higher setting (safe mode - which seems to be deprecated). So my question is , how should I initialize my mongodb such that my web service will "always" write to the db (or throw an error trying) and not fail (assuming it can write :) )

From what I understand I need to set the "write concern" but not clear on how to set it to "Assure success in writing to the db"

The code I am using now to retrieve the Db is :

MongoClient client = new MongoClient(connection_string);
var server = client.GetServer();
Database = _db = server.GetDatabase(dbname);
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
354 views
Welcome To Ask or Share your Answers For Others

1 Answer

Your connection string needs to have the option w=1 for this, which is the default in later versions of the driver. This looks like the following in the connection string:

mongodb://localhost/?w=1

But this is the default.

You write that "writes are failing a lot" - how do you see that? By documents not being in the database, or by getting errors? Let me know and I'll update the answer.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...