2016-03-07 2 views
1

Это сегмент кода, в который я буду вставлять данные PLC в MongoDB, но я не уверен, где должен быть реализован WriteConcern?Где должна быть реализована программа WriteConcern?

var connectionString = "mongodb://10.52.124.186:27017/"; 

    // Establish connection from the client to the server 
    var client = new MongoClient(connectionString); 

    var server = client.GetServer(); 

    // Connect to the MongoDB specified for the GDS on the Mongodb 
    var mongoDB = server.GetDatabase("test_database"); 

    // create a collection called sample 
    var collection = mongoDB.GetCollection<sample>("sample"); 

    sample a = new sample(); 

    // Access the socket via which PLC has sent the data 
    a.Parameter = data; 

    collection.Insert(a); 

ответ

1

Существует несколько уровней, на которых вы можете указать желаемый уровень WriteConcern по умолчанию.

  • На странице Параметры объекта MongoClient
    • либо передав объект MongoSettings конструктору
    • или установкой mongoClient.Settings.WriteConcern позже
  • На уровне базы данных путем установки database.Settings.WriteConcern
  • На уровне сбора, установив collection.Settings.WriteConcern
  • В каждом запросе базы данных с использованием перегрузок метода, которые принимают объект WriteConcern.

Каждое из этих параметров, конечно, может быть переопределено другой установкой на более низком уровне. Итак, какой уровень вы выбираете, зависит от того, что вы хотите сделать.

+0

Привет @Philipp, Если я хочу WriteConcern на уровне коллекции, это будет так: 'collection.Insert (а, новые MongoInsertOptions { WriteConcern = WriteConcern.WMajority } ); ' это? – Arjun

+0

@Arjun Или просто сделать 'collection.Insert (a, WriteConcern.WMajority)' Но это только для этого одного запроса, а не для будущих запросов в той же коллекции. – Philipp

+0

Ну ладно, это имеет смысл. Итак, что я хочу сделать, это иметь WriteConcern на уровне коллекции, всякий раз, когда данные вставляются в коллекцию, подтверждение будет отправлено MongoDB. Как можно изменить упомянутое выше заявление таким образом? – Arjun

Смежные вопросы