findOneAndUpdate 与推送数组元素在猫鼬中给出错误

2024-02-17

我的查询如下所示:

const updateLikes = (item_id, userInfo) => {
    return new Promise((resolve, reject) => {
        itemLike.findOneAndUpdate({ 'item_id': item_id }, { $inc: { no_of_likes: 1 } }, { "$push": { "users": userInfo } }, { 'new': true }, (err, info) => {
            if (err) {
                reject(err);
            } else {
                if (info) {
                    resolve();
                } else {
                    reject('no item found');
                }
            }
        });
    });
};

itemLike.js

const itemLike = new Schema({
    item_id: { type: mongoose.Schema.ObjectId, ref: 'items', index: true },
    no_of_likes: { type: Number, default: 0 },
    users: [{ type: mongoose.Schema.ObjectId, ref: 'user' }]
}, { versionKey: false });


module.exports = mongoose.model('item_like', itemLike);

一旦我执行此查询,我就会收到如下错误:

events.js:160
      throw er; // Unhandled 'error' event
      ^

TypeError: callback.apply is not a function
    at Query.<anonymous> (C:\Users\uName\api\node_modules\mongoose\lib\model.js:3702:16)
    at C:\Users\uName\api\node_modules\kareem\index.js:273:21
    at C:\Users\uName\api\node_modules\kareem\index.js:127:16
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9)

我在这里错过了什么吗?


的文档查找并更新 http://mongoosejs.com/docs/api.html#model_Model.findOneAndUpdate表明您提供了太多参数。它应该是conditions, update, options, callback.

您收到错误是因为 Mongoose 正在尝试调用{ 'new': true }作为回调函数。看起来您的更新定义被错误地分成了两个对象。

您需要删除下面以粗体突出显示的大括号。

{ $inc: { no_of_likes: 1 }}, {"$push": { "users": userInfo } }

为了完整起见,您的最终更新定义应如下所示:

{ $inc: { no_of_likes: 1 }, "$push": { "users": userInfo } }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

findOneAndUpdate 与推送数组元素在猫鼬中给出错误 的相关文章

随机推荐

  • 我应该如何导出 AES 加密数据库条目的密钥和初始化向量?

    我构建了一个 CMS 系统 允许用户在客户的 Intranet 应用程序上创建和管理在线表单 当然 表单处理的某些数据可能需要加密 例如如果系统用于构建处理薪资细节或其他内容的表单 所以我正在使用AESManaged类在此类数据进入我们的应
  • 如何将优化标志传递给 bazel 构建张量流

    我正在尝试使用 bazel 为 android 构建 TF 我注意到 当我使用 makefile 构建 TF 时 C 代码得到了优化 并且它比 bazel 生成的库快了几乎 2 倍 这可能是什么原因呢 这里是修改后的 tf copts de
  • 在 Vim 中选择整个 Sass 规则集的最快方法?

    刚开始使用 Vim 我想知道 给定一个像这样的 Sass 块 thing width 100 color color1 nested height 1rem 如果我的光标位于 width 内的 d 处 那么以可视方式选择整个规则集 选择器
  • 如何动态添加 Javascript 函数(并调用)

    基于页面上的单击事件 通过 ajax 我获取一段 html 和脚本 我能够获取 script 元素并将其附加到 head 元素 但是基于 WebKit 的浏览器不会将其视为脚本 即 我无法调用附加脚本中声明的函数 使用 Chrome 开发人
  • 如何从其他网站导入 Facebook 好友

    我正在寻找一种连接 Facebook 的方法 允许用户输入他们的用户名和密码 让我们的应用程序连接到他们的帐户并获取他们的联系人 以便他们可以邀请他们加入我们网站上的群组 我之前写过一个 Facebook 应用程序 但这不是一个应用程序 而
  • Python:从某个列表中获取最大N个元素

    是否有一些函数可以返回某个列表中的 N 个最高元素 I e if max l 返回单个最高元素 sth 喜欢max l count 10 会返回给我一个包含 10 个最高数字的列表 或者更少 如果l更小 或者什么是获得这些的有效简单方法 除
  • 是否可以以不区分大小写的方式匹配意图过滤器的路径模式?

    我们有一个 Android 应用程序可以打开某些类型的文件 我在 AndroidManifest xml 文件中为每个过滤器声明了一个意图过滤器 示例扩展名 ext
  • 如何根据目标像素替换 Numpy 图像数组中的所有 RGB 值

    我有一个 Numpy 数组中的图像 我将用黑色替换特定颜色 用白色替换所有其他颜色 For 循环速度很慢 而且我的 numpy 条件不起作用 与数组匹配的所有像素 gt 121 112 131 必须完全替换为另一个数组 gt 0 0 0 所
  • Python 和希伯来语编码/解码错误

    我有 sqlite 数据库 我想在其中插入希伯来语的值 我不断收到以下错误 UnicodeDecodeError ascii codec can t decode byte 0xd7 in position 0 ordinal not in
  • JavaFX 中的 Z 顺序

    如何设置 Z 顺序VBox在 JavaFX 中 JavaFX 中的 Z 顺序实际上是场景图中的顺序 例如 在场景的内容序列中 然后在组 容器等的内容中 所有节点还具有 toFront 和 toBack 函数来帮助更改此顺序 为了更好地控制
  • 修复“忽略 InnerClasses 属性”警告

    我想修复此警告 让我每次构建此输出 Error warning Ignoring InnerClasses attribute for an anonymous inner class Error com sun jna Native 1
  • 心理视觉图像相似度算法/库

    我正在寻找一种算法 最好是 C Rust 实现 来计算两个图像之间的感知相似性 同时考虑心理视觉因素 例如 色度差异并不像亮度差异那么糟糕 我有原始图像和它的多种变体 在我的例子中是 256 色量化 我想要算法来找到人类会判断哪张图像是最好
  • 如何在反应路由器转换中保持状态

    我已经设置了相当典型的反应路由器应用程序 var App React createClass render function return lt RouteHandler gt var routes
  • 如何在 NextJs 中共享两个项目中的组件?

    我不知道在我的特定情况下共享组件 ReactJs 的最佳选择是什么 我在 NextJs 中有两个应用程序 一个是电子商务 另一个是该电子商务的经理门户 在第一个应用程序 电子商务 中 我有 UI 组件 按钮 字段 标题 文本等 我想在其他项
  • svelte :更改 html 块内的变量值

    each list as item i div class item div
  • 什么是最低限度有效的 HTML5 文档?

    我刚刚阅读了 HTML5 作者规范 它指出 and 标签是optional 这是否意味着您可以完全忽略它们并仍然拥有有效的 HTML5 文档 如果我的解释正确 这意味着这应该是完全有效的 p Hello p 它是否正确 您可以在此处查看规格
  • Mercurial 中的 Reparenting:如何将两个独立的 svn 克隆重新组合在一起?

    情况是这样的 开发人员 Foo 从我们的 svn 存储库创建了一个 hg 存储库 Foo 的 hg repo 只是 svn 中主干的浅层克隆 没有 svn 分支 标签等 并且历史记录不完整 大约 100 个变更集 开发人员 Bar 做了同样
  • Mongo Query 获取不同的嵌套文档

    我需要获取不同的嵌套文档 请查找示例文档 propertyId 1001820437 date ISODate 2020 07 17T00 00 00 000Z HList productId 123 name Dubai tsh true
  • 错误-2147417848自动化错误调用的对象已与其客户端断开连接

    我正在清理 3 个 Excel 工作表中的一些表格 我的代码在 Excel 2007 上运行良好 当我切换到 Excel 2010 时 我开始收到此运行时错误自动化错误 调用的对象已与其客户端断开连接 错误号 2147417848然后exc
  • findOneAndUpdate 与推送数组元素在猫鼬中给出错误

    我的查询如下所示 const updateLikes item id userInfo gt return new Promise resolve reject gt itemLike findOneAndUpdate item id it