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 与推送数组元素在猫鼬中给出错误 的相关文章

  • 我怎样才能摆脱错误:无法在 Heroku 上找到模块“模型”

    我在 Heroku 上不断收到此错误 错误 找不到模块 模型 我正在使用 Node JS 我在用着这个 Node JS 项目 https github com gravityonmars nodejs starter 我从 Heroku 复
  • Node + Express 与静态 HTML。如何将所有请求路由到index.html?

    我正在开发一个单页 Web 应用程序 使用 Node Express 和 Handlebars 进行模板化 目前 index html 的一切都运行良好 它由一个非常标准的 server js 文件提供 var express requir
  • Mongodb 聚合嵌套组以及最近更新的文档

    我已经在我的集合中指定了人员 状态 如下所示 ASSIGN ID 583f84bce58725f76b322398 SPEC ID 58411771 STATUS 1 UPDATE DATE ISODate 2016 12 21T04 10
  • 如何获取可用的猫鼬鉴别器列表?

    假设您有一个用户方案 您可以使用它来创建名为 用户 的基本模型 然后对于用户角色 您可以使用 mongoose 判别器来创建名为 Admin Employee 和 Client 的继承模型 有没有一种方法可以以编程方式确定用户模型有多少可用
  • Firebase 函数,admin.database().ref(...).get() 不是函数

    我正在开发一个 Android 应用程序 并使用 firebase 作为它的后端 我正在尝试让通知系统正常工作 该系统依赖于监听数据库中的更改 但遇到问题 因为我收到以下错误 想知道是否有人能够提供帮助 可以提供任何额外的代码 Fireba
  • Node + Express .post 路由抛出错误。预期回调,获得对象

    我目前正在开发一个使用 Express Node 的应用程序 我最近添加了一个新的 post路线到app js文件 使用以下语法 app post api posts saveComment posts saveComment posts上
  • 如何在 package.json 中对嵌套子模块和 TypeScript 使用“导出”?

    我想利用新的优势 出口 https nodejs org api packages html packages exportsNode js 的功能package json这样我就可以执行以下操作 exports dist index js
  • 使用admin sdk在云函数中执行firestore集合组查询?

    firestore collectionGroup 方法在云函数中与 firebase admin sdk 一起使用时出现错误 是否可以在云函数中对 firestore 进行集合组查询 这是我尝试使用的 firestore 查询方法 htt
  • 如何检测和测量 Node.js 中的事件循环阻塞?

    我想监视 node js 中事件循环每次运行需要多长时间 但是我不确定衡量这一点的最佳方法 我能想到的最好的方法是这样的 var interval 500 var interval setInterval function var last
  • 如何使用 Web 套接字和 Angular CLI 设置代理

    我有一个使用 Angular CLI 构建的简单 Web 应用程序 我希望它使用网络套接字与后端通信 我已经编写了后端 并使用一个简单的 index html 页面进行了测试 服务器可以在套接字上发送和接收该页面 在我的 angular c
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp
  • socket.io 作为客户端

    有什么方法可以将socketio作为客户端运行 不是浏览器 而是nodejs脚本 我需要将数据从服务器广播到一些客户端 浏览器 和另一台linux机器 仅运行nodejs来获取变量 没有浏览器 欢迎任何想法 Regards github上有
  • Nodejs 一个接一个地运行异步函数

    我是 JS nodejs 的新手 所以如果我不能提出切中要害的问题 请原谅我 所以基本上 如果我有两个异步函数 async function init async function main 如何确保在 init 完成其异步请求后调用 ma
  • Pymongo 批量插入

    我正在尝试批量插入文档 但批量插入时不会插入超过 84 个文档 给我这个错误 in insert pymongo errors InvalidOperation cannot do an empty bulk insert 是否可以批量插入
  • 如何在 Google Translate Node.js 代码中设置 API KEY

    我正在尝试创建一个使用 Google Translate API 的 Node js 代码 我从以下代码中得到了谷歌文档 https cloud google com translate docs translating text 但是当我
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • 如何清除NPM的https代理设置?

    如何清除NPM之前的ssl代理设置 好吧 我搜索了很多 但我得到的所有帖子主要是关于如何set公司网络中的代理 我尝试将代理设置为空 npm config set http proxy npm config set https proxy
  • 为 Node.js 客户端应用程序保留 Firebase 用户

    我正在使用 Firebase 构建 Node js 命令行界面 CLI 用于与后端进行身份验证 我想避免让用户每次运行命令时都输入密码 相反 我想实现一个 登录 流程 将凭证保留到文件系统 该凭证可用于后续的无密码身份验证 直到用户 注销
  • 带有 npm 启动脚本的 Nodejs 应用程序

    我对nodejs很陌生 在我的docker化环境中 我想为nodejs应用程序提供appdynamics支持 这要求每个应用程序都要求将以下内容作为其应用程序的第一行 require appdynamics profile controll

随机推荐

  • 我应该如何导出 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