- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的 MongoDB 数据库中有一个集合,其中包含多个键。现在我想用一个新字段更新这个集合。所以这是我到目前为止所拥有的:
def confirm(hash: String) = {
val myDb = dbConn.db(dbName)
val userCollection = myDb[BSONCollection]("user")
val selector = BSONDocument(idKey -> BSONObjectID(hash))
val modifier = BSONDocument(
"$set" -> BSONDocument("date" -> BSONString(now.toString)) // Line 1
)
val command = FindAndModify(
userCollection.name,
selector,
Update(modifier, fetchNewObject = true)
)
myDb.command(command)
.map { user => // Line 2
Right(bidList)
}.recover {
case LastError(ok,err, code, errMsg, _) =>
Left(ServiceError(errMsg.getOrElse("failure!")))
}
}
上面的实现有两个问题:
第 1 行:这会用名为日期的新字段更新现有文档吗?
第 2 行:映射 myDb.command(command) 给了我一个 Option[BSONDocument],但令我惊讶的是我在范围内有一个隐式转换。所以我希望它返回一个 Option[User]!
最佳答案
你可以看看.findAndUpdate
和FindAndModifyResult
它提供了一个 .result
操作来根据可用的 BSON 阅读器获取结果。
val person: Future[Option[AType]] = collection.findAndUpdate(
BSONDocument("name" -> "James"),
BSONDocument("$set" -> BSONDocument("age" -> 17)),
fetchNewObject = true).map(_.result[AType])
关于mongodb - ReactiveMongo FindAndModify 说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33307215/
我尝试在文档数组中查找一个对象,并更新其字段。 db.rescuemodels.findAndModify({ query: { "features": {
在 mongodb 手册上有一个用于对单个文档进行原子操作的 example。 book = { _id: 123456789, title: "MongoDB
我正在尝试使用 findAndModify 修改多个文档,然后返回修改后的新文档。我的查询是: db.users.findAndModify({ query: { _id: {
findAndModify() 提供什么类型的锁定?是只写锁还是读/写?它会阻止对同一记录的同时更新吗? 最佳答案 MongoDB 有一个全局(每个实例)写锁,它序列化服务器中所有数据的所有更新(尽管
我有一个包含许多文档的集合,每个文档都包含一个数组,我想从每个文档的数组中删除最低值。 实现此目标的最有效方法是什么? findAndModify 是否能够执行此类操作? 我需要使用 forEach
我的 MongoDB 集合用作作业队列,有 3 台 C++ 机器从这个集合中读取数据。问题是这三个人不能执行相同的工作。所有作业只需完成一次。 我通过使用“isDone:False”在集合中搜索所有记
假设文档的结构如下: {_id:"session-01", status:"free"} 并且有 2 个并发操作执行下面的 findAndModify 操作:db.collection.findAnd
我有以下代码: var roomDoc = Rooms.findAndModify({ query: {name: roomName}, update: {$setOnInsert: {uni
当使用 MongoTemplate - collection.findAndModify 时,它将删除所有文档字段,只保留更新的列。 这是为什么呢? 如何部分更新文档中的字段? DBC
我使用 python 2.6.6、pymongo 1.9、mongodb 1.6.5、Ubuntu 10.10 我在使用 FindAndModify 命令时遇到了奇怪的问题。 我有两个相同的进程同时运
我正在尝试将 findAndModify 与 node.js mongodb 模块 monk 一起使用。这是我正在使用的方法,它会抛出一个 500cmd 中的 错误: notesCollectio
我的 MongoDB 数据库中有一个集合,其中包含多个键。现在我想用一个新字段更新这个集合。所以这是我到目前为止所拥有的: def confirm(hash: String) = { va
我想弄清楚是否有可能在 MongoDB 中推送一个元素并同时(原子 FindAndModify 操作)更新数组中元素的最大值。 例子: { "_id": "...", "max_value":
有没有办法将 mongo 的 findAndModify 应用于每个符合条件的文档,而不仅仅是第一个文档?我在 mongodb.org 上找不到它。 谢谢。 最佳答案 您可以使用 update()多参
我正在 Node 中创建一个包含一些 CRUD 组件的应用程序。在我的一个数据对象上,我有一个 save() 方法,如果对象具有在集合中找到的 id,则更新记录,如果没有,则更新插入新文档。此外,如果
我需要使用 mongodb 查找并修改第一个匹配的元素。可能吗?我没能从官方文档中找到如何操作:http://www.mongodb.org/display/DOCS/findAndModify+Co
我有一个用 Java 编写并使用 MongoDB 3.4 副本集的任务 worker ,该副本集运行许多线程,每个线程基本上都在执行此操作。 运行任务 通过在 MongoDB 中更新该任务的文档来表示
我在 MongoDB 中的多个并发进程中使用 FindAndModify。集合大小约为 300 万个条目,只要我不通过排序选项(通过索引字段),一切都会像爆炸一样运行。一旦我尝试这样做,就会在日志中生
我正在尝试在嵌套数组中查找记录,对其进行修改,然后进行投影。 假设我有以下收藏: { "_id" : ObjectId("56558dfc45a06f51decb4ab7"), "ar
在我当前的应用程序中,我对 MongoDB 服务器进行了以下 MongoDB FindAndModify 调用 public static TEntity PeekForRemoveSync(this
我是一名优秀的程序员,十分优秀!