gpt4 book ai didi

mongodb - Casbah MongoDB 只更新某些字段

转载 作者:可可西里 更新时间:2023-11-01 10:32:11 27 4
gpt4 key购买 nike

我正在使用 Casbah Scala 驱动程序对 MongoDB 数据库执行 CRUD 操作。我想更新特定文档中的某些字段。我正在使用 findAndModify 方法,但令我惊讶的是,整个文档都被重写了。我的原始文档在 findAndModify 调用之前有 5 个字段,我想在其中更新其中的 1 个字段。在 findAndModify 调用之后,我只剩下 2 个字段。这就是我正在尝试的!

val mongoClient = MongoClient()
val db = mongoClient(MongoDBSetup.TEMP_DATABASE)
val query = MongoDBObject("uid" -> userExam.uid)
val update = MongoDBObject("answers" -> userExam.userAnswers)
db(MongoDBSetup.MONGO_DB_COLLECTION_USER_EXAM).findAndModify(query, update)

为了只修改文档中的答案字段,还有什么我应该考虑的吗?

最佳答案

您需要使用 $set 更新文档来完成此操作以仅修改字段的子集。这应该做你想做的:

val update = MongoDBObject(
"$set" -> MongoDBObject("answers" -> userExam.userAnswers)
)

有关 mongodb 中 $set 的更多信息:http://docs.mongodb.org/manual/reference/operator/update/set/

关于mongodb - Casbah MongoDB 只更新某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20830290/

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