问题标签 [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.

0 投票
2 回答
1783 浏览

mongodb - mongoDB 的 findAndModify 是“事务保存”吗

我知道,mongo DB 上没有事务支持。但现在我需要读取一个文档的值,递增 1 并写入新值。

或者 - 不同的方式:更新元素并同时读取值。为此,我喜欢使用查找和修改:http ://www.mongodb.org/display/DOCS/findAndModify+Command

此命令更新文档并返回更新前的值。这是否发生在(相同的)交易中?关键是:另一个会话是否有可能在另一个会话的两个步骤之间更新相同的值?

(对不起,对我来说这很难解释——我希望你明白我想说什么)

谢谢你。

0 投票
1 回答
1960 浏览

mongodb - MongoDB:上限集合 findAndModify

如果上限集合为空,我试图以原子方式插入一个空文档,如果不为空,则返回最后一个自然排序的文档。我可以用 findAndModify 做到这一点吗?

我本来希望这要么返回最新的文档(如果集合不为空),要么插入一个新文档(如果不存在),但是,它每次调用时都会插入一个空白文档(没有_id)。findAndModify 是否适用于有上限的集合?我需要添加的文档有一个_id.

谢谢。

-斯科特

0 投票
2 回答
5438 浏览

mongodb - MongoDB 分片 findAndModify

我正在尝试对我的数据库进行分片,但我遇到了findAndModify的问题

我有一个看起来像这样的架构(myCollection):

我正在像这样设置我的 shardkey:

假设上面的模式被插入到数据库中。

现在我运行这个查询:

我从运行 findAndModify 得到这个错误:

谁能向我解释为什么这么说?或解决方案?在我看来,我正在做我需要做的一切。

0 投票
2 回答
878 浏览

mongodb - 使用 grails gorm 在 mongodb 中使用 findAndModify

我需要在我的应用程序中使用 findAndModify 和 grails 和 mongoDB。我使用了这段代码:

它工作成功。但是现在我想在没有本机 mongodb 对象的情况下使用 findAndModify,并使用 GORM。这项工作有什么解决方案吗?

0 投票
1 回答
574 浏览

mongodb - Mongodb findAndModify 嵌入文档——你怎么知道你修改了哪一个?

findAndModify在 mongodb 中很棒,但是我很难知道我修改了哪个嵌入式文档。

这是一个Postembeds_many的示例Comments。(我使用的是 Mongoid ORM,但这个问题对于任何 MongoDB 设置都是通用的)。

好的,这种工作,但如果我有多个进程同时运行它,我select可以选择另一个进程保留的注释(竞争条件)。

这是我目前最接近的(按进程 ID 保留):

这似乎有效。这是最好的方法还是有更好的模式?

0 投票
2 回答
2119 浏览

mongodb - Mongodb findAndModify 原子性

我想知道如何从 find 中引用返回的文档属性并在 modify 中使用它。前任 :

我的理解是 findAndModify 锁定了文档,因此我想使用在 find 中找到的属性在 modify 中执行更新。这将使操作原子化。

我想知道这是否受 mongo 支持。

0 投票
4 回答
1180 浏览

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

我已在线阅读,我认为最好的方法是使用ReadAllLinesWriteAllLines. 但是我不确定如何实现查找和替换。我已经看到很多关于如何删除空格、无效字符等的示例,但是我无法找到我需要的示例。

概括:

  • 读取文本文件
  • 在所有文本Res行中都可以并删除
  • 保留当前文本文件,即删除Res并关闭文件

任何帮助是极大的赞赏。

谢谢!

0 投票
1 回答
976 浏览

bash - 在所有用户子目录中查找所有 .htaccess 文件并为其添加一个字符串

我想在“public_html”(但不是public_html)下的一整串可能的子目录中找到所有用户帐户的所有“.htaccess”文件(如果文件存在,如果不创建)。基本上可以在任何远程类似于可能包含图像的目录中找到它。

这是我的代码:

虽然上面的脚本运行正常,但它实际上并没有做我想要它做的事情。我检查了一个用户的图像目录,并没有在那里找到任何“.htaccess”文件。:/

理想情况下,我还想在屏幕上看到它在执行过程中发生了什么,并且如果可能的话,还将结果输出到一个文本文件。

0 投票
0 回答
4438 浏览

mongodb - MongoDB FindAndModify 极慢

我正在使用 mongodb 并且在速度方面遇到了一些问题。我的收藏变得更大,现在包含大约 7.000.000 件物品。因此,findAndModify 查询大约需要 3 秒。我在查询字段上有一个索引(在我的例子中是“链接”,它是一个数组)。有没有人看到一个大失败或低效的代码(见下文)。

先感谢您!

0 投票
0 回答
1040 浏览

mongodb - 将候选密码与 Mongo 中的 bcrypt 哈希进行比较

我想发出一个 Mongo FindAndModify 请求,该请求通过电子邮件和密码找到用户,然后在一个请求中更新它,使其成为原子的。使用基本的 MD5 哈希密码和预定义的盐,我会在请求之前计算哈希并发出以下请求:

但是 bcrypt 密码每次都不相同,因为每次生成哈希时使用不同的盐,所以这种方法不起作用。目前我必须通过电子邮件找到一个用户并使用 BCrypt.checkPassword 函数在代码中检查他的密码,如果它返回 true,则更新我在数据库中的值。所以我最终做了 2 个请求,它在 Mongo 中不是原子的。

那么有没有办法在一个 MongoDB 请求中做到这一点(与 bcrypt 哈希和更新相比)?(我在 Mongo 网站上看到了一篇关于如何手动实现 2 阶段提交的文章,但想知道是否有一个干净而好的解决方案)。