gpt4 book ai didi

java - writeConcern 未在 mongodb 中设置为 Acknowledged

转载 作者:行者123 更新时间:2023-12-01 09:44:55 24 4
gpt4 key购买 nike

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 设置为 Acknowledged,但未设置

日志语句从我知道它没有设置的地方打印出来

什么是写入关注WriteConcern{w=0, wTimeout=null ms, fsync=null, Journal=null

为什么w=0?它应该是w=1我正在使用 casbah V 3.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 ?我一旦使用 writeconcern 执行给定的插入查询,确认工作已完成。此外,我们单独为插入查询设置 writeconcern,而不是为集合设置 writeconcern。这可能是您得到 w=0 的原因。

但我仍然无法弄清楚 - 一般来说,我们有 w: 1 是 default write concern对于 MongoDB 以及为什么你得到 w=0。

关于java - writeConcern 未在 mongodb 中设置为 Acknowledged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38144551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com