问题标签 [findandmodify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - mongoDB 的 findAndModify 是“事务保存”吗
我知道,mongo DB 上没有事务支持。但现在我需要读取一个文档的值,递增 1 并写入新值。
或者 - 不同的方式:更新元素并同时读取值。为此,我喜欢使用查找和修改:http ://www.mongodb.org/display/DOCS/findAndModify+Command
此命令更新文档并返回更新前的值。这是否发生在(相同的)交易中?关键是:另一个会话是否有可能在另一个会话的两个步骤之间更新相同的值?
(对不起,对我来说这很难解释——我希望你明白我想说什么)
谢谢你。
mongodb - MongoDB:上限集合 findAndModify
如果上限集合为空,我试图以原子方式插入一个空文档,如果不为空,则返回最后一个自然排序的文档。我可以用 findAndModify 做到这一点吗?
我本来希望这要么返回最新的文档(如果集合不为空),要么插入一个新文档(如果不存在),但是,它每次调用时都会插入一个空白文档(没有_id)。findAndModify 是否适用于有上限的集合?我需要添加的文档有一个_id
.
谢谢。
-斯科特
mongodb - MongoDB 分片 findAndModify
我正在尝试对我的数据库进行分片,但我遇到了findAndModify的问题
我有一个看起来像这样的架构(myCollection):
我正在像这样设置我的 shardkey:
假设上面的模式被插入到数据库中。
现在我运行这个查询:
我从运行 findAndModify 得到这个错误:
谁能向我解释为什么这么说?或解决方案?在我看来,我正在做我需要做的一切。
mongodb - 使用 grails gorm 在 mongodb 中使用 findAndModify
我需要在我的应用程序中使用 findAndModify 和 grails 和 mongoDB。我使用了这段代码:
它工作成功。但是现在我想在没有本机 mongodb 对象的情况下使用 findAndModify,并使用 GORM。这项工作有什么解决方案吗?
mongodb - Mongodb findAndModify 嵌入文档——你怎么知道你修改了哪一个?
findAndModify
在 mongodb 中很棒,但是我很难知道我修改了哪个嵌入式文档。
这是一个Post
embeds_many的示例Comments
。(我使用的是 Mongoid ORM,但这个问题对于任何 MongoDB 设置都是通用的)。
好的,这种工作,但如果我有多个进程同时运行它,我select
可以选择另一个进程保留的注释(竞争条件)。
这是我目前最接近的(按进程 ID 保留):
这似乎有效。这是最好的方法还是有更好的模式?
mongodb - Mongodb findAndModify 原子性
我想知道如何从 find 中引用返回的文档属性并在 modify 中使用它。前任 :
我的理解是 findAndModify 锁定了文档,因此我想使用在 find 中找到的属性在 modify 中执行更新。这将使操作原子化。
我想知道这是否受 mongo 支持。
c# - 查找和删除字符串中的字符
我的程序读取注册表项值并将这些值与安装路径结合起来。我还从注册表中读取了安装路径。
即String dllInstpath = installPath + rKey
等于:
C:\Program Files (x86)\NSi\AutoStore Workflow 6\HpOXPdCaptureRes.dll
然后我使用FileVersionInfo
上面的字符串HpOXPdCaptureRes.dll
从它的安装路径中获取文件信息并将所有值写入记事本。
我的问题是 TRUE dll 名称在文件名中没有“Res”。注册表只有文件名中带有“Res”的文件名。我需要做的是从文本文件中读取并找到所有“Res”并将它们从记事本文件中的文本行中删除。
所以输出应该是这样的:
当前的:
HpOXPdCaptureRes.dll
新的:
HpOXPdCapture.dll
我已在线阅读,我认为最好的方法是使用ReadAllLines
和WriteAllLines
. 但是我不确定如何实现查找和替换。我已经看到很多关于如何删除空格、无效字符等的示例,但是我无法找到我需要的示例。
概括:
- 读取文本文件
- 在所有文本
Res
行中都可以并删除 - 保留当前文本文件,即删除
Res
并关闭文件
任何帮助是极大的赞赏。
谢谢!
bash - 在所有用户子目录中查找所有 .htaccess 文件并为其添加一个字符串
我想在“public_html”(但不是public_html)下的一整串可能的子目录中找到所有用户帐户的所有“.htaccess”文件(如果文件存在,如果不创建)。基本上可以在任何远程类似于可能包含图像的目录中找到它。
这是我的代码:
虽然上面的脚本运行正常,但它实际上并没有做我想要它做的事情。我检查了一个用户的图像目录,并没有在那里找到任何“.htaccess”文件。:/
理想情况下,我还想在屏幕上看到它在执行过程中发生了什么,并且如果可能的话,还将结果输出到一个文本文件。
mongodb - MongoDB FindAndModify 极慢
我正在使用 mongodb 并且在速度方面遇到了一些问题。我的收藏变得更大,现在包含大约 7.000.000 件物品。因此,findAndModify 查询大约需要 3 秒。我在查询字段上有一个索引(在我的例子中是“链接”,它是一个数组)。有没有人看到一个大失败或低效的代码(见下文)。
先感谢您!
mongodb - 将候选密码与 Mongo 中的 bcrypt 哈希进行比较
我想发出一个 Mongo FindAndModify 请求,该请求通过电子邮件和密码找到用户,然后在一个请求中更新它,使其成为原子的。使用基本的 MD5 哈希密码和预定义的盐,我会在请求之前计算哈希并发出以下请求:
但是 bcrypt 密码每次都不相同,因为每次生成哈希时使用不同的盐,所以这种方法不起作用。目前我必须通过电子邮件找到一个用户并使用 BCrypt.checkPassword 函数在代码中检查他的密码,如果它返回 true,则更新我在数据库中的值。所以我最终做了 2 个请求,它在 Mongo 中不是原子的。
那么有没有办法在一个 MongoDB 请求中做到这一点(与 bcrypt 哈希和更新相比)?(我在 Mongo 网站上看到了一篇关于如何手动实现 2 阶段提交的文章,但想知道是否有一个干净而好的解决方案)。