mongodb updateOne 如何修改查询数组结果中的第一项?

2023-06-13 339 0

这段代码的目的是要更新一个名为 prizes 的数组中第一个值为 8.8 的元素,但当前代码会将数组中所有的 8.8 都更新,作者希望得到一个只更新第一个匹配项的方法。作者曾尝试在 "prizes.$[prize]" 后面加上 ".$" 或 ".1" 等来获取第一个匹配项但并不奏效,希望能得到指点。

笨办法是先通过遍历将 prizes 修改好,再赋给 updateOne 修改,但当前作者不想这么做。可以使用 findOne 找到第一个匹配项的索引,然后构建一个操作符来更新该项即可实现目的。具体实现代码如下:

相关文章

nuxt2部署静态化和ssr的时候访问首页先报404再出现首页为什么?
`clip-path` 如何绘制圆角平行四边形呢?
多线程wait方法报错?
VUE 绑定的方法如何直接使用外部函数?
vue2固定定位该怎么做?
谁有redis实现信号量的代码,希望借鉴一下?