2016-07-01 10 views
1
private val DATABASE:String = config.getString("db.dbname") 

private val SERVER:ServerAddress = { 
    val hostName=config.getString("db.hostname") 
    val port=config.getString("db.port").toInt 
    new ServerAddress(hostName,port) 
} 

val connectionMongo = MongoConnection(SERVER) 
def collectionMongo(name:String) = connectionMongo(DATABASE)(name) 

val result:WriteResult = collectionMongo("pgroup") 
    .insert(new BasicDBObject("_id",privateArtGroup.getUuid) 
    .append("ArtGroupStatus",privateArtGroup.artGroupStatus.toString()) 
    .append("isNew",privateArtGroup.isNew), WriteConcern.Acknowledged) 

log.info("what is the write concern " + collectionMongo(pgroup).getWriteConcern) 

log.info("what is the write concern "+collectionMongo(pgroup).getWriteConcern) 

Я устанавливаю WriteConcern к Признанный, но его не устанавливаяwriteConcern не устанавливает для Признанный в MongoDB

лога stataments гравюр это откуда я узнать его не устанавливать

Что такое пишут бетон WriteConcern{w=0, wTimeout=null ms, fsync=null, journal=null

Почему w=0? она должна быть w=1 Я использую casbah V 3.1.1

ответ

1
val result:WriteResult = collectionMongo("pgroup") 
.insert(new BasicDBObject("_id",privateArtGroup.getUuid) 
.append("ArtGroupStatus",privateArtGroup.artGroupStatus.toString()) 
.append("isNew",privateArtGroup.isNew), WriteConcern.Acknowledged) 

WriteConcern.Acknowledged - Операция записи, которые используют эту запись озабоченность будет ждать подтверждения от первичного сервера, прежде чем вернуться.

w: 1 - Запрос подтверждения того, что операция записи распространилась на автономный mongod или основной в наборе реплик.

Причина Почемуw=0 ? i После того, как данная вставка запрос выполняется с writeconcern признать работу сделано. Кроме того, мы устанавливаем writeconcern для запроса вставки, а не для коллекции. Это может быть причиной того, что вы получаете w = 0.

Но все же я не мог понять - в общем, у нас есть w: 1 - default write concern для MongoDB и почему вы получаете w = 0.