Mongodb 排序聚合以相同的顺序 id 传递到过滤器

2023-12-12

我想知道是否可以保持结果的当前顺序与过滤时传递的顺序相同。

假设我们有一个 IDS 数组:

var arrayValues = [1,3,2]

我想聚合这些值,但保持结果与我在上面数组中传递的顺序相同。

 var result = Item.aggregate([{ $match: { _id: { $in: arrayValues } }}])

我希望结果的顺序与传入的数组值的顺序相同_id value.

结果示例:

result = [{ _id: 1 },{ _id: 3 },{ _id: 2 }]

您可以使用indexOfArray为了这:

db.collection.aggregate([
  {$match: {_id: {$in: arrayValues}}},
  {$set: {index: {$indexOfArray: [arrayValues, "$_id"]}}},
  {$sort: {index: 1}},
  {$unset: "index"}
])

看看它是如何工作的游乐场示例

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

Mongodb 排序聚合以相同的顺序 id 传递到过滤器 的相关文章

  • 使用 PyMongo 将 MongoDB find() 返回序列化为非匿名 JSON 数组

    我的 Python 代码查询 MongoDB 并返回an array以下对象 u attribute u value u id ObjectId 534776c66e5987041f6154bd 我想要实现的是返回以下 JSON mycol
  • Javascript 进程是否有多个执行线程?

    背景 我正在创建一个 地址簿 类型的应用程序 有很多条目需要加载 一个想法是首先加载一小部分条目 让用户开始 然后将剩余条目排队 优先考虑用户单击的条目 例如 如果他们单击以 X 开头的名称 请先加载这些名称 然后再处理队列的其余部分 这个
  • 更新存储在 chrome 扩展本地存储中的对象

    我正在开发一个 chrome 扩展 我将存储服务器发送的对象 例如 我将收到 命令 id 1 类型 A 大小 B 优先级 C 如果我有一个数据库 我会将其作为表中的一行插入commands 使用 chrome storage 我将这些对象的
  • 如何将一个数组中的所有项目复制到另一个数组中?

    如何将数组的每个元素 其中元素是对象 复制到另一个数组中 以便它们完全独立 我不想更改一个数组中的元素来影响另一个数组 这里的关键是 数组中的条目是对象 并且 您不希望对一个数组中的对象的修改显示在另一个数组中 这意味着我们不仅需要将对象复
  • 正则表达式中连字符的这种用法有效吗?

    NB I only想知道它是否是正则表达式定义中未转义连字符的有效应用 它是not关于匹配电子邮件 连字符或反斜杠的含义 量词或其他任何内容的问题 另外 请注意 链接的答案并没有真正讨论转义 未转义连字符之间的有效性问题 通常我会像这样声明
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • Angular 4 Http POST 不起作用

    我希望每个人都做得很好 我最近开始使用 Angular 4 4 我一直在尝试将数据发布到我的 api 服务器 但不幸的是它不起作用 我花了大约两天的时间 但仍然没有成功 甚至已经尝试过 6 7 篇文章角 io https angular i
  • ES6 模块范围

    我有代码 lib js var a a export var b b main js console log a a variable is not available in a global scope import b from lib
  • 在调试模式下,使用节点检查器时,mocha 不会停止在规范文件中的调试器语句上

    当我使用 debug brk 运行 mocha 并使用 node inspector 打开 chrome 开发工具时 调试器会跳过我放入规范文件中的任何调试器语句 I can如果我遵循 则让调试器语句在模块文件中工作这个伎俩 https g
  • 为什么 call 比 apply 快那么多?

    我想知道是否有人知道why call比apply 在 Chrome 中 速度大约快 4 倍 在 Firefox 中快 30 倍 我什至可以制作自定义原型 apply2 在大多数情况下 运行速度是apply 这个想法取自角度 Function
  • 致命错误 - 未找到“Mongo”类

    我正在尝试执行此操作 但我收到以下错误 致命错误 在 C wamp www 中找不到类 Mongo Info PHP 5 38 MongoDB mongodb win32 i386 2 0 2 MongoDB PHP 驱动程序 mongo
  • Firebase + Node.js:错误:找不到 XMLHttpRequest 兼容性库

    Firebase Node js On iOS 安装的 Node js npm 安装 firebase save 节点测试 js 其中 test js 是一个非常简单的连接到 Firebase 的脚本 var firebase requir
  • Google 地图 API - 地图未显示 - 没有错误

    我正在尝试将地图从 Google API 加载到 div 中 但是 地图未加载 并且没有输出任何错误 这是代码 google maps var geocoder map function codeAddress address geocod
  • 如何解决“消息端口在收到响应之前已关闭”的问题。在 JavaScript 中的 window.location.reload() 之后

    我遇到了 javascript 问题 从 chrome v73 0 3683 86 开始 每当我在 window location reload 函数之后运行 javascript 代码时 它总是给我错误 Unchecked runtime
  • onPress 方法中箭头函数与普通函数的行为

    正在学习 Native React 并学习更多关于 javascript 的知识 所以我仍然不明白它的行为的很多事情 我使用 TouchableOpacity 及其 onPress 属性创建了一个按钮组件 为了让它工作 我必须发送我想要执行
  • 如何跨多个文件跨越 javascript 命名空间?

    我永远忽略了javascript 几年前我开始使用 jQuery 这样我就可以过得去 但随着我开始更多地进行 TDD 我昨天决定真正深入研究 javascript 之后可能还有咖啡脚本 在我的 ASP NET Web 窗体应用程序中 我有很
  • jQuery Mobile + Admob:轮换?

    我使用 jQuery Mobile 框架创建了一个移动应用程序 所有页面都在index php中加载 使用 div 在每个页面的页脚中 我添加了Admob代码 div div div
  • Node.js - 使用 XHR 进行强大的上传

    我尝试实现一个简单的 XHR 上传到 Node js 通过强大 https github com felixge node formidable 问题是如果我设置 xhr setRequestHeader Content Type mult
  • 如果 POST 响应仅包含 ID,如何将数据保存到我的 Ember 存储?

    Ember 数据期望我的服务器在每次成功后返回完整的对象POST 但是 我的 API 只返回一种元对象 其中包含id 当 Ember 收到此对象时 记录中的现有数据将被删除 除了id 例如 当我这样做时 var asset App Asse
  • JavaScript 阶乘防止无穷大

    我一直在 JavaScript 中使用这个函数来计算阶乘数 var f function factorial n if n 0 n 1 return 1 if f n gt 0 return f n return f n factorial

随机推荐

  • 如何仅返回真值作为映射操作的结果

    我有一个函数可以返回元音 但是我只想返回真值 我该怎么做 map a e i o u seq char array Hello gt nil e nil nil o filter identity map f keep f gt keep
  • 检查 Firebase 注册令牌是否无效

    我有一个应用程序 用户可以通过 Firebase 注册 登录 用户可以拥有多个设备 在这些设备之间共享他的所有数据 当然他必须登录 我通过 Firebase 设备令牌跟踪所有设备 并在用户在特定设备上更新某些内容时发送适当的更新通知 现在我
  • Apache Camel:是否可以在不使用 Spring 的情况下配置 WMQ?

    目前我正在使用 apache Camel 和 wmq 对于camel配置和路由 我使用Java DSL 但我找不到任何关于如何使用 Java DSL 配置 WMQ 的示例 这是我尝试配置 WMQ 时得到的结果 配置文件
  • Cocoa WebView 字体太小

    当我向应用程序添加 WebView 时 网页的字体大小比 Safari 中的字体小很多 有什么原因吗 是的 如果您希望字体大小与 Safari 一致 则需要将默认字体设置为 16px 您可以在 Interface Builder 中执行此操
  • 解析XML特殊字符?

    从过去的 2 天开始 我一直在搜索如何使用 等特殊字符解析 XML 但我没有得到足够的信息来说明如何实现它 任何人都可以建议吗 我的东西 我该怎么做 你可以尝试类似的东西this 即给出该特殊字符的参考 Character Referenc
  • 将日期转换为 pd.to_datetime,其中月份可以是数字或月份名称

    我有一个日期时间数据 它们的格式是这样的29062017 and 01AUG2017 如您所见 该月处于数据中间 当我使用时 我想将此数据转换为日期时间pd to datetime 但它不起作用 你知道解决这个问题的好方法吗 您可以使用pd
  • 使用 wsprintf 将 int 转换为 wchar_t*

    我正在尝试获得一个wchar t 格式化为int作为参数 我用谷歌搜索了很多 但结果却更加困惑 所以 考虑这段代码 int main int argc char argv wchar t buf 16 wsprintf buf L d 5
  • 在没有提交按钮的情况下按下回车键时获取要提交的表单

    我有一个没有提交按钮的表单 如果用户按 Enter 键时仍然提交表单 那就太好了 我尝试添加一个隐藏的提交按钮 这为我在 Safari Firefox 和 Chrome 中提供了所需的行为 但在 IE 中仍然未提交表单 有这样做的标准方法吗
  • 在 FTP 上搜索文件

    我想使用 FTP 批处理脚本使用 if exist filename else 语句查找 FTP 上是否存在文件 如下所示 ftp txt open ftp mysite com ftp txt username ftp txt passw
  • Java使用“扩展”和范围解析/“点”运算符?

    我刚刚在阅读一些代码时遇到了这一点 但我完全不知道它意味着什么 我尝试过谷歌搜索之类的 但什么也没得到 可能是因为缺乏词汇量 代码 public final class GeneralPath extends Path2D Float co
  • iPhone:快速哈希函数,用于将网络图像(url)存储为文件(哈希文件名)

    iPhone 可用于对 Web url 图像 进行哈希处理的快速哈希函数是什么 我想将缓存的 Web 图像存储为一个文件 并以哈希值作为文件名 因为我认为原始 Web url 可能包含奇怪的字符 可能会导致文件系统出现问题 哈希函数不需要是
  • 无法使用 Ajax 控件从页面执行 response.redirect

    我有一个包含许多用户控件的页面 每个控件都使用 Ajax 当我加载此页面时 在某些条件下 我想做一个response redirect 然而 response redirect 语句被 Ajax 代码捕获并且永远不会发生 如何从包含 Aja
  • 如何将数据从一个视图传递到下一个视图

    摘要 我正在尝试建立一个工作网站 在 index html 上 用户在表单中输入邮政编码以查看该邮政编码中的职位 该表单使用job query看法 这会将他们带到另一个页面 search html 起初您只能看到该特定邮政编码中的工作 但我
  • 应用程序被拒绝:启动时崩溃,但在所有设备上也运行良好

    我的应用程序仅适用于 iPhone 它在所有设备上都运行良好 但是当提交应用程序时 它被苹果拒绝了 并说 第一次提交时 We found your app crashed on launch so we were unable to rev
  • 远程: form_for 为新操作工作的 true 选项,但不创建操作

    Update 这已经解决了 这是一项困难的任务 因为调试起来根本不是一件容易的事 但在注意到我在表单标签内有一个表单标签时 我亲切的 回答者 指出 无论这是否是问题的根本原因 都需要解决这个问题 请记住我同意他的观点nested attri
  • 将具有不透明度的图像分层在另一个图像的顶部。 - OpenCV

    Edit 任何有类似问题的人 我找到了另一个答案here一个很棒的 Python 解决方案 利用了 NumPy 的速度 请考虑以下问题 我有两张图像 尺寸相同 一种是具有不同不透明度层的红色方块 第二个是蓝色正方形 比红色小 没有不透明度
  • “解析 XML 时出错:XML 声明格式不正确”[android]

    我在 AndroidManifest xml 文件中收到标题错误 错误位于 下面的行
  • 如何编写VBA代码来重命名根文件夹下的所有文件夹?

    我对 VBA 很陌生 并且一直在摆弄一些工作代码 本质上 我有一个文件夹 其中包含 1000 多个具有不同名称的文件夹 并且我需要重命名每个文件夹 我有一个 Excel 工作表 其中设置了原始文件路径 旧文件夹名称和所需文件夹名称 我发现此
  • ASP .NET MVC 5 在 View.cshtml 文件中编写 javascript [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我是 ASP NET 的新手 并且在 MVC 中的 javascript 上遇到了困难 我在 View 文件夹中有一个 IndexView cshtml 文件 想在其中编写一个简短的
  • Mongodb 排序聚合以相同的顺序 id 传递到过滤器

    我想知道是否可以保持结果的当前顺序与过滤时传递的顺序相同 假设我们有一个 IDS 数组 var arrayValues 1 3 2 我想聚合这些值 但保持结果与我在上面数组中传递的顺序相同 var result Item aggregate