Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
363 views
in Technique[技术] by (71.8m points)

c# mongodb driver write concern

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

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

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...