2016-07-01 7 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) 

Ich gründe WriteConcern Anerkannte, aber es ist nichtwriteConcern setzt nicht auf Anerkannt in mongodb

das Protokoll stataments druckt Einstellung dieses von wo ich kenne seine nicht

Einstellung

Was den Schreib ist conc WriteConcern{w=0, wTimeout=null ms, fsync=null, journal=null

Warum w=0? es sollte w=1 sein Ich casbah V 3.1.1 bin mit

Antwort

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 - Operationen schreiben, der diese Schreib Sorge verwenden wird vom primären Server für die Bestätigung warten, bevor sie zurückkehrt.

w: 1 - Bestätigt, dass die Schreiboperation an den Standalone-Mongod oder die Primärdatenbank in einer Replikatgruppe weitergegeben wurde.

Grund für die Warumw=0 ? i Sobald die gegebene Insert-Abfrage mit writeconcern bestätigen den Auftrag ausgeführt wird, erfolgt. Außerdem setzen wir den Writeconcern für die Einfügeabfrage alleine und nicht für die Sammlung. Dies könnte ein Grund dafür sein, dass Sie w = 0 erhalten.

Aber immer noch konnte ich nicht herausfinden - Im Allgemeinen haben wir w: 1 ist die default write concern für MongoDB und warum Sie w = 0 bekommen.

Verwandte Themen