2016-03-29 23 views
1

私は100,000,000のドキュメントを持つコレクションを持っており、そのうちの1分ごとに更新を行っています。書き込みレベルを変更するにはどうすればよいですか?

var writeOptions = new BulkWriteOptions { IsOrdered = false }; 

// Applying several operations within the one request. 
operationList.Add(new UpdateOneModel<JobInfoRecord>(Builders<JobInfoRecord>.Filter.Eq("_id", document.JobId), 
           Builders<JobInfoRecord>.Update.Set("JobInfo", newInfo))); 

await jobInfoDocuments.BulkWriteAsync(operationList, writeOptions); 

書き込みの懸念のレベルを1(デフォルト)から0に変更するにはどうすればよいですか?

答えて

1

MongoCollectionオブジェクトのWithWriteConcernメソッドを使用して、提供された書き込みの懸念事項を照会する新しいIMongoCollectionオブジェクトを取得します。

var jobInfoDocumentsCareless = jobInfoDocuments.WithWriteConcern(WriteConcern.Unacknowledged); 
await jobInfoDocumentsCareless.BulkWriteAsync(operationList, writeOptions); 
+0

'WriteConcern.Unacknowledged'その懸念のレベル?どちらがデフォルトの 'WriteConcern.Acknowledged'ですか? –

+0

@ivan_petrushenko WriteConcern.Unacknowledgedは '{w:0}'と同じです。 Acknowledgedとは、[the documentation](http://api.mongodb.org/java/current/com/mongodb/WriteConcern.html)によると、「サーバで設定されているデフォルトの書込み問題を使用して確認応答を待つ」という意味です。したがって、それはmongodの設定に依存します。確かめたい場合は、[WriteConcern constructors](http://api.mongodb.org/java/current/com/mongodb/WriteConcern.html#WriteConcern-int-)を使って独自のWriteConcernオブジェクトをインスタンス化することもできますw、journal、fsync、およびtimeoutのカスタム設定があります。 – Philipp

+0

更新のプロセスをスピードアップしたい場合、私は '{w:0}'を使う必要がありますか? –

関連する問題