- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 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/
有没有一种简单的方法可以将 List 转换为 MongoDBList(或 BasicDBList)? 最佳答案 scala> val list = List("foo", "bar") list:
我希望使用 Scala 2.9.x 和 Casbah 实现我的 DAO 访问层。鉴于我的实体是一个带有参数的案例类: case class Price (Id: Option[String], Pri
我正在使用 Casbah Scala 驱动程序对 MongoDB 数据库执行 CRUD 操作。我想更新特定文档中的某些字段。我正在使用 findAndModify 方法,但令我惊讶的是,整个文档都被重
我有以下代码: def authenticateByUsername(username: String, password:String): Boolean = { val user = use
在 casbah 中,我看到在 MongoCollection 上定义了以下函数: def insert[A](docs: A*)(implicit dbObjView: (A) ⇒ commons.
我想使用 casbah 执行查询,以查找未设置某个字段(该字段不存在)或该字段具有特定值的所有对象。 我试过用 val query = ("_id.serviceName" $in serviceNa
如何在 Collection#find(/* HERE */) 使用正则表达式,例如: val coll = MongoConnection()("foo")("bar") for(x ".*son
我正在使用 Casbah 连接和查询 Mongo 数据库。现在我正在尝试查询值不为空的字段。 使用直接的 Mongo 语法,我想要的查询是 collection.find({"key" : {$ne
我有一个从 MongoDB 获取端口号的简单代码。我用的是scala,驱动当然是casbah。 def getPortNo : Int { val query = MongoDBObjec
我必须使用 casbah scala 客户端管理与 MongoDb 的多个数据库连接。我有一个可行的近似值但会打开数百个连接。 我想保存一个 Map[String, MongoDB],它为每个数据库保
我已将 casbah 添加到我的依赖项中使用 com.mongodb.casbah casbah_2.8.0 2.1.5.0 然后我就写了一个简单的mongo连接语句 val
我正在使用 Casbah 2.9.2 我的 mongodb 架构如下: [ _id:“三角形”,信息:[颜色:“红色”,线:“细”,UseID:“1”,SourceId:“2”]] 我希望能够编写一个
我在 MongoDB 中有一个如下所示的文档: {"_id":"asdf", "data":[ {"a":"1","b":"2"}, {"a":"3","b":"4"}, {"
在 Play 应用程序中,使用 Salat 和 Casbah,我试图将 DBObject 反序列化为 Task 类型的对象,但是当调用 .asObject: No implicit view avai
我目前正在使用 Casbah 和 MongoDB 来实现网络服务。到目前为止,我没有遇到任何问题。我也在使用 Scala。 但是,我只是想知道是否有比 Casbah 更好的东西来执行大量 find/f
我正在尝试在 find() 中使用 casbah 的流畅查询。 我的数据是这样的: { "_id" : ObjectId("4d7b26efc58bf2b18f14d9cd"), "srcID" :
我正在使用 mongo cashbah Scala 驱动程序,我想在我的代码中使用连接池,但我不确定我的代码是否使用连接池,我也读到我们只需要创建一次 MongoClient 实例并再次重用它,所以我
编译时出现以下错误: [error] (*:update) sbt.ResolveException: unresolved dependency: org.mongodb#casbah_2.11;2
我知道 MongoDB 中的对象可以包含多个级别的数据(就像 JSON 对象一样)。但是,Casbah 驱动程序教程仅涵盖“平面”对象的创建,其中只有一层数据。如何使用 Casbah 创建和使用多级对
我已经使用其命令行客户端在 MongoDB 中定义了一个函数。 function something(){...} 我想知道如何使用 Scala 中的 casbah 执行自定义 MongoDB 函数。
我是一名优秀的程序员,十分优秀!