Mongoose findOneAndUpdate:更新对象数组中的对象

2023-11-30

我有与此线程中描述的完全相同的问题(因此有类似的标题):Mongoose findOneAndUpdate——更新对象数组中的对象

给定这个模型:

const SavedFoodsSchema = new Schema({
  user: { type: Schema.Types.ObjectId, ref: 'User' },
  list: [
    {
      id: { type: Number, required: true, unique: true },
      name: { type: String, required: true },
      points: { type: Number, required: true }
    }
  ]
})

我编写了以下函数只是为了测试根据 userId 参数在 SavedFoods Collection 中查找文档,然后在list数组,对于数组中的第一个对象,设置name到“其他事情”。

function updateFood (userId) {
  // This didn't work
  SavedFoods.findOneAndUpdate(
    {
      id: userId,
      'list.id': 0
    },
    {
      $set: {
        'list.$.name': 'Something else'
      }
    },
    null,
    (err) => {
      if (err) {
        console.log('Error:', err)
      } else {
        console.log('Updated', userId)
      }
      process.exit(0)
    }
  )
}

回调被调用并且没有错误,但是更改没有反映在我的数据库中。

难道我做错了什么?


我认为你不匹配id and user field

尝试改变id with user

SavedFoods.findOneAndUpdate(
    {
      user: userId,
      'list.id': 0
    }
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongoose findOneAndUpdate:更新对象数组中的对象 的相关文章

随机推荐

  • 操作类不适用于 Selenium 3.5.3

    我想将元素从一个地方拖放到另一个地方 因此 我使用操作类来实现我的功能 问题是我的代码成功执行 没有显示任何错误 但功能目标没有实现 我在 Firefox 和 Chrome 浏览器中尝试了相同的代码 但在这两个浏览器中都重复了同样的问题 这
  • 使用交互触发器调用可见性更改方法 WPF

    我想弄清楚的是两件事 如何在用户控件的可见性更改时触发触发器以及将可见性值作为参数传递 无论出于何种原因 扳机似乎都没有触发 我刚刚添加了 ControlVisible 参数来显示我想要发生的情况 在测试时它不存在 只是在内部有一个消息框来
  • 在 Wow6432Node 中写入不重定向的注册表值

    此代码插入注册表值 Microsoft Win32 RegistryKey key key Microsoft Win32 Registry LocalMachine CreateSubKey SOFTWARE Microsoft Inte
  • 如何停止 requestAnimationFrame 递归/循环?

    我使用 Three js 和 WebGL 渲染器来制作一个游戏 当play链接被点击 对于动画 我使用requestAnimationFrame 我这样启动它 self animate function self camera lookAt
  • 在Android应用程序中显示TIFF格式图像

    我只能找到一篇关于此问题的先前帖子 并且提供的答案似乎无法正常工作 有没有办法在 Android 中显示具有捏合 缩放功能的 TIFF 图像 编写一个应用程序 我需要显示 TIFF 图像 事实上 似乎有一种方法可以在 Android 上显示
  • 如果.NET SqlConnection对象没有关闭,它会导致内存泄漏吗?

    我明白你需要打电话 Close on a SqlConnection对象在使用完毕后将底层 SQL 连接释放回池中 但如果您不这样做 即使超出范围后 NET 对象是否仍保留在内存中 我问这个问题是因为我正在处理一些遇到内存泄漏的代码 并且我
  • 如何在linux操作系统中设置solr/home?

    我知道如何配置solr home使用Tomcat 6 但我不知道如何设置solr home使用 Glassfish V2 1 我尝试过设置solr home in profile作为研究员 export solr home home hue
  • 打印时间时出现意外输出。时间类型别名

    我正在尝试为自定义类型编写一个解组函数 考虑下面的代码 操场 package main import encoding json fmt strings time type Time time Time func st Time Unmar
  • Spring Boot 安全注销不会使会话失效

    我的增强型宠物诊所应用程序需要安全性 目前注销功能似乎不起作用 我有一个 GET 版本 简单链接 和一个 POST 版本 通过链接提交的隐藏表单 登录后 无论我使用哪种方式注销 一旦我尝试再次登录 就不允许新的登录 我相信这与本节相关 se
  • 如何绘制Windows经典风格的窗口元素

    我们在程序中创建了一些自定义 窗口 当VisualStyles启用后 我们可以找到窗口的每个元素及其大小 并使用适当的渲染器自行绘制它们 包括最小化和关闭按钮 我们想做同样的事情VisualStyles已被禁用 目前正在绘制我们自己的窗口
  • JFreeChart PolarPlot:数学方向

    我想创建一个极坐标图 其中数据以数学方向绘制 因此 该系列从东方开始 然后逆时针继续 JFreeChart 的默认行为PolarPlot是从北开始并顺时针继续系列 是否有对此内置的支持PolarPlot班级 我知道如何转换数据以达到目标 但
  • 合并 2 个具有不同列名的数据框

    在 R 中 我有 2 个数据框 它们都有不同的列名称 我想根据列号组合每个数据框的行 我的数据框如下 gt d1 X 0 52 V2 X 0 52 V4 1 ABT 700 2 AMD 9600 3 AMG 600 4 AGCO 800 g
  • 如何将 Eigen::Matrix 映射到 std::vector

    例如 如果我有一个Eigen MatrixXd大小为 10 列和 3 行 我如何将其别名为std vector的 10 个元素Eigen Vector3d 当我说别名时 我的意思是使用相同的内存块而不进行复制 我知道我可以通过以下方式进行反
  • 如何使用 Firebase 云消息传递

    我找不到任何有关新版本的文档 版本7和版本6有大量文档 而版本9几乎不存在 不仅是我 大多数人都找不到 我只是想向后台发送简单的通知 如果有人分享有关新版本的文档 我将非常高兴 或者我应该使用旧版本 我想您知道如何将 firebase 添加
  • 在 C# 中将字符串转换为枚举标记[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 C 中将字符串转换为枚举 如何在 C 中将字符串 文本 转换 强制转换 为 Enum 标记值 你可以这样做 MyEnum oMyEnum MyEnum Enum Parse typeof My
  • 使用 VBA 获取在 VBA 中使用的唯一值?

    我目前会使用类似的东西与范围 单元格或类似的许多不同的方式相同的基本原理 Range A1 Range A1 End xlDown AdvancedFilter Action xlFilterCopy CopyToRange Range I
  • 尝试为 Haskell 中的函数创建有效的算法

    我正在寻找一种有效的多项式时间解决方案来解决以下问题 实现一个递归函数节点 x y 来计算数字三角形中的第 x y 个数字 定义为 g x y 0 if x gt y 1 if x y 0 0 sum of all incoming pat
  • 使用 VS 2015 Update 2 配置 tslint

    我无法让 tslint 在 Visual Studio 2015 中正常工作 我应该明确指出 我安装了更新 2 我有 Web Essentials 但它声称它不再包含 linters 我没有网络分析器 如果这很重要的话 这是一个 ASP N
  • 有没有办法在 Gradle KTS 中实例化 KTS 脚本引擎?

    我想在我的项目构建过程中使用 3d party 库 库方法需要 ScriptEngine 当我尝试实例化它时 出现错误 java lang IllegalArgumentException Unable to construct scrip
  • Mongoose findOneAndUpdate:更新对象数组中的对象

    我有与此线程中描述的完全相同的问题 因此有类似的标题 Mongoose findOneAndUpdate 更新对象数组中的对象 给定这个模型 const SavedFoodsSchema new Schema user type Schem