猫鼬排序对象的嵌套数组不起作用

2024-02-21

我是 NodeJS 和 MongoDB 的新手,当我想使用 Mongoose 执行带有 Sort() 的 Find() 查询时遇到问题。

我想按通知日期对结果进行排序,但不起作用

这是我的查询:

UsersNotifications
            .find({user_id: new ObjectId(req.user._id)})
            .sort({'notifications.date': -1})
            .select('notifications').exec().then(usersNotifications => {
                res.locals.usersNotifications = usersNotifications;
            });

这是我的模型:

感谢您的帮助 !


Afaik 你不能按嵌套对象排序,但你可以unwind https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/ the notifications数组,应用降序排序并重新组合结果。就像是:

.aggregate([
    { $match: { _id: new ObjectId(req.user._id) }},
    { $unwind: '$notifications' },
    { $sort: { 'notifications.date': -1 }},
    { $group: { _id: '$_id', notifications: { $push: '$notifications'}}}])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

猫鼬排序对象的嵌套数组不起作用 的相关文章

  • 为什么 Internet Explorer 无法使用 NodeJS 和 Express 下载 PDF?

    我正在使用 NodeJS 构建一个网站 需要提供一些 PDF 以及其他文件 由于我无法确定的原因 Internet Explorer 8 第一次无法在 Acrobat Viewer 中完全下载 PDF 有时此后多次 直接保存文件效果很好 但
  • Express 是否从隐藏(点)文件夹提供静态文件

    我的应用程序正在提供这样的静态文件夹 app use static serveStatic dirname view my static folder 如何配置服务器来提供隐藏文件夹服务 所以如果我有 view my static fold
  • Jade - 从不同目录加载模板

    我正在尝试处理 Peepcode 的 Node js Full Stack 视频 他们似乎使用的是旧版本的express jade 没有提到使用块 扩展来渲染布局 应用程序中使用的设置是有一个为所有子应用程序加载的 views layout
  • Express 不断将 request.body 获取为未定义的 JSON 对象

    我正在发出一个 Ajax 请求 如下所示 ajax url gen type POST data JSON stringify one 1 two 2 success function data console log this 我的快递部
  • MongoDB:如何在更新之前对查询进行排序

    我正在编写一个 Meteor Node js 应用程序 它在后端使用 MongoDB 在我的代码中的某个时刻 我需要更新specific集合中的文档 我需要使用 Mongo 的 update 方法 但我在传递正确的 复杂的 查询以缩小到该特
  • npm i 导致许多 ERESOLVE 问题

    我收到此错误npm i npm ERR code ERESOLVE npm ERR ERESOLVE unable to resolve dependency tree npm ERR npm ERR Found email protect
  • npm 错误! asyncWrite 不是一个函数

    npm 安装 g firebase tools npm 错误 asyncWrite 不是一个函数 npm 错误 pna nextTick 不是函数 npm 错误 此运行的完整日志可以在以下位置找到 npm 错误 home developer
  • 如何从客户端 JavaScript 调用特定的 Node.js 方法

    在我的应用程序中 我在 node js 文件中创建了许多方法 我如何从客户端 JavaScript 调用特定方法 下面是我的node js 文件 exports method1 function exports method2 functi
  • 使用 multer 上传来自不同字段的多个文件?

    如何让 multer 接受来自多个文件类型字段的文件 我有以下代码 使用 node js 中的 multer 上传单个文件 var storage multer diskStorage destination function req fi
  • 如何使用 golang 和 mgo 库在 mongodb 中创建文本索引?

    我正在尝试对集合进行全文搜索 但为了做到这一点 我需要创建一个文本索引 http docs mongodb org manual tutorial create text index on multiple fields http docs
  • 如何从node js发送json数据到html页面

    我已经使用 Node js Express 从 facebook 获取了一系列 json 数据 现在我想将数据发送到 html 页面 但我不知道如何发送数据并在 html 中对数据进行编码 如果您在 node js 中使用 Express
  • MongoDB 给出奇怪的连接错误

    我在使用 PHP 连接 MongoDB 时遇到问题 这是我的代码 这会产生以下错误 Fatal error Uncaught exception MongoConnectionException with message localhost
  • 如何获取下载 URL 列表并从 Firebase 存储下载包含所有文件的 .ZIP 文件夹

    我的 Firebase 存储桶中的文件夹和子文件夹中有许多文件 我的实时 Firebase 数据库中有所有这些文件的下载 URL 列表 我正在尝试进行批量下载 最好创建一个 ZIP 文件夹供最终用户立即下载 其他几个帖子 例如如何从 Fir
  • 如何定义导入mongodb的分隔符

    我有一个数据集合 它由 特点 我将把数据收集添加到mongodb 所以我需要通过分离数据 特点 怎么样我的蒙戈进口公司命令看起来像 之前我已经成功导入csv通过以下命令创建文件 mongoimport d mydb c things typ
  • Express.js 路由错误:发送后无法设置标头

    我不太确定为什么会出现此错误 它是一个基于express js 构建的简单 API 能够添加和删除帖子 当我触发删除路由器时发生错误 我读过 当有两个回调时 通常会发生错误 但是 我似乎找不到任何双重回调 http outgoing js
  • 如何 $filter where 条件与数组匹配?

    在 lookup 之后 我将得到一个名为 lastViewed 的连接 如下所示 id 5955ea4fd8099718330ab191 lastViewed id ObjectId 595218a7d346d27fb0bc1705 use
  • Mocha / Chai Expect.to.throw 未捕获抛出的错误

    我在获取 Chai 时遇到问题expect to throw测试我的 node js 应用程序 测试在抛出的错误上不断失败 但是如果我将测试用例包装在 try 和 catch 中 并对捕获的错误进行断言 它就会起作用 Does expect
  • 迁移后Mongodb数据文件变小

    在我的第一台服务器上我得到 root prod du hs var lib mongodb 909G var lib mongodb 迁移后this带有 mongodump mongorestore 的数据库 在我的第二台服务器上我得到 r
  • Node.JS Web 服务器中的安全性

    所以 我正在学习 Node JS 到目前为止我很喜欢它 我已经有几个项目在工作了 我想我可以在其中使用nodejs 不过 我担心安全问题 如果我使用 Node JS http 模块编写自定义 Web 服务器 我是否可能非常容易受到攻击 Ap
  • everyauth 承诺是什么?

    我不明白 everyauth 承诺是什么 我发现我需要返回一个 Promise 对象或用户 但是 everyauth Promise 是什么 当您有一个执行身份验证但异步执行的函数时 它非常有用 您不能直接从函数返回用户信息 因为您必须等待

随机推荐