将两个集合与范围条件组合起来

2024-03-03

我有一个集合“产品”,其中包含如下文档:

{"_id" : 142347106,"name" : "product 1"}
{"_id" : 135377126,"name" : "product 2"}

我还有另一个系列“价格”:

{
    "_id" : ObjectId("59310a6bad6e99863c2a6860"),
    "region" : 1111,
    "price" : 7.6,
    "id_start" : 174683814,
    "id_end" : 174686813,
    "qte" : 3000
}

可以通过“id_start”和“id_end”之间的产品_id找到产品的价格。 因此,如果我想了解所有产品的价格,我可以执行以下查询:

db.getCollection("product").find({}).forEach( function(myProduct) {
     db.getCollection("price").findOne({$and: [ { "id_start":{$lt: parseInt(myProduct._id) } }, {"id_end":{$gt: parseInt(myProduct._id)}}]})
});

这是有效的,但我的问题是我有很多文档,当我运行查询时,它总是以“errmsg”结尾:“找不到光标,光标 ID:...

所以我想找到另一种查询方式,例如使用聚合框架。

你有想法吗?

我可以将两个集合合并为一个集合,但我不太喜欢这种方式:-/

非常感谢 !


None

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

将两个集合与范围条件组合起来 的相关文章

  • $lookup结果中的$match

    我有下一个蒙戈代码 db users aggregate match and UserName eq administrator Company CompanyName eq test lookup from companies local
  • MongoDB 在仅返回 _id 时使用 COLLSCAN

    我想返回 MongoDB 集合中的所有 ID 我使用了以下代码 db coll find id 1 但MongoDB扫描整个集合而不是从默认读取信息index id 1 从日志中 find collection filter project
  • CoreMongooseArray 到普通数组

    我正在从一个架构中选出 2 个元素 并希望在另一个架构中进行更新 为此 我使用切片方法将数组中的前 2 个元素列入候选名单 但我越来越 CoreMongooseArray 元素1 元素2 而不是 元素1 元素2 如何删除 CoreMongo
  • Mongoid 命名范围比较同一文档中的两个时间字段

    我需要在 Mongoid 中创建一个命名范围来比较同一文档中的两个时间字段 例如 scope foo where gt updated at gt gt checked at 这显然不会像它对待的那样起作用 checked at作为一个符号
  • 在 MongoDb 上序列化仅获取属性

    使用 C 6 我可以写 public class Person public Guid Id get public string Name get public Person Guid id string name Id id Name n
  • MongoDB:连接到 MongoDB 的 resolv.conf 的 DNS 问题

    我想从 MongoDB Atlas 导出一些数据 如果我执行下面的命令 它会尝试连接localhost并导出数据 mongoexport uri mongodb srv
  • Mongoose 查找 array.length 大于 0 的所有文档并对数据进行排序

    我正在使用 mongoose 对 MongoDB 执行 CRUD 操作 这就是我的架构的样子 var EmployeeSchema new Schema name String description type String default
  • Mongo按动态字段排序

    所以我传入了一个动态变量 它是我想要排序的字段的名称 假设下面的 sortVariable 可能等于 price createdAt name 等 这不起作用 我该怎么做 function findStuff sortVariable va
  • NodeJS:将 JSON 保存到 MongoDB

    我正在尝试从 API 获取 JSON 并将其存储到 MongoDB 数据库中 显然 这是行不通的 我的应用程序似乎停留在我尝试将数据保存到数据库的位置 请告知该怎么做 这是我的代码 var express require express v
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 如何使用 PyMongo 在重复键错误后继续插入

    如果我需要在 MongoDB 中插入尚不存在的文档 db stock update one document set document upsert True 将完成这项工作 如果我错了 请随时纠正我 但是 如果我有一个文档列表并想将它们全
  • Angular js 服务器端过滤器和分页

    我有几个输入字段 我们可以使用带有搜索名称的输入字段作为示例 当有人在该字段中输入内容时 我希望能够过滤对象的结果 但我想做过滤器服务器端而不是客户端 我有一个包含大量记录的数据库 因此我不想返回所有记录并在客户端进行过滤 这确实会减慢速度
  • 按一个字段聚合,选择另一个字段最大值的文档作为集合

    使用聚合框架 获取每个分组的字段最大值的文档的最佳方法是什么 因此使用下面的集合 我希望具有为每个具有最新日期的 group id 返回一个文档的功能 第二个清单显示了所需的结果 group id date 1 11 1 12 1 11 2
  • Java/MongoDB 按日期查询

    我将一个值作为 java util Date 存储在我的集合中 但是当我查询以获取两个特定日期之间的值时 我最终得到的值超出了范围 这是我的代码 插入 BasicDBObject object new BasicDBObject objec
  • MongoDB:如果使用 $addToSet 或 $push,是否应该预先分配文档?

    我一直在研究 MongoDB 我知道强烈建议在插入时完全构建 预分配 文档结构 这样将来对该文档的更改不需要移动该文档磁盘周围 这在使用 addToSet 或 push 时适用吗 例如 假设我有以下文档 id rsMH4GxtduZZfxQ
  • 警告:访问循环依赖内模块导出的不存在属性“MongoError”

    我正在使用节点执行 API 并使用 Mongoose 当我给一个yarn dev启动我的 Nodemon Mongo 出现错误 我不知道如何解决这个问题 有人有什么想法吗 我使用的是 MongoDB Atlas 数据库 就在出现以下错误之后
  • MongoDB 3.0 Windows 服务启动:发生系统错误 2

    我已经下载了 MongoDB Windows msi 安装并成功运行 mongod exe 和 mongo exe 命令文件执行工作正常 安装手册展示了如何创建配置文件 然后使用命令创建Windows Server sc exe creat
  • 最小验证在 Mongoose 中不起作用

    我有一个架构 其中余额字段的声明如下所示 balance type Number min 0 default 30 我将 0 设置为最小值 这样余额就不会为负值 但是当我通过更新查询减少余额值时 余额结果是负值 我的更新查询 User up
  • 通过 elemMatch 在 MongoDB 中排序

    MongoDB 有没有一种基于排序的方法 elemMatch 例如 我有如下所示的文档 user ObjectId fsdfsdf array of things attribute 1 ObjectId sdfsdfsd attribut
  • 限制号mongodb 输入中的行数

    如何限制数量 在kettle中使用的mongodb输入转换中检索到的行数 我尝试在 mongodb 输入查询中使用以下查询 但它们都不起作用 查询 限制 10 或 limit 10 请让我知道我哪里出错了 谢谢 迪普蒂 有几个查询修改操作符

随机推荐

  • 原始浮点编码

    Update原来的问题不再是这个问题的适当问题 所以我将单独保留这个问题来演示我尝试 学到的内容和背景 很明显 这不仅仅是一个 Base64 变体 而且涉及更多一些 背景 我使用 python 3 x 进行编程主要是为了与开源程序 Blen
  • 在日期/时间调用方法

    我正在寻找一个modern在给定日期 时间执行给定方法的方法 ZonedDateTime尤其 我知道Timer类和Quartz库 如下所示 线程包括完整的解决方案 Java 在特定日期执行方法 关闭 https stackoverflow
  • 如何将 Firestore 数据库从 Google 存储桶导出到 Json 文件

    情况如下 我有一个 Firestore 数据库 我每天都会将其下载到 Google Cloud Storage Bucket 作为备份 如果我想在本地下载它 我使用这个命令gsutil m cp r gs BUCKET PATH DESTI
  • ngrx/data 实体数据服务

    尝试理解ngrx data实体数据服务示例here https ngrx io guide data creating entity data services 其中显示 创建实体数据服务 在展示该服务之后 文档继续展示如何在组件中使用 n
  • C++ 重载虚函数发出 clang 警告?

    clang 在编译以下代码时发出警告 struct Base virtual void get char e virtual void get char e int index struct Derived public Base virt
  • 如果 ID 存在则更新记录,否则插入值

    如果记录存在 我正在尝试更新值 否则将值插入数据库 然而 这是行不通的 我写了下面的代码 String sqlCheck Select from UAP dbo UAP EMPLOYEE where EMP EMPLOYEE ID empI
  • 在 XCode 5 中应用程序窗口预计在应用程序启动结束时有一个根视图控制器

    我使用 Single View 或 Master View 模板在新的 XCode 5 中创建的每个新项目都会给我错误 应用程序窗口预计在应用程序启动结束时有一个根视图控制器 但只有当 UIView 等对象添加到类中时才会出现错误 我一如既
  • 无法在 Visual Studio 2010 中调试 MVC 源代码

    我正在尝试使用 Microsoft 符号服务器在 Visual Studio 2010 中调试 MVC 源代码 我已经配置了调试选项 如下所示 我的项目面向 NET Framework 4 0 如中所述调试 NET Framework 的源
  • 如何在 CMake 中使用 c++20 模块?

    Clang http clang llvm org docs Modules html and MSVC http blogs msdn com b vcblog archive 2015 12 03 c modules in vs 201
  • PHPUnit:模拟除某些方法之外的所有方法

    我正在编写一个 PHPUnit 测试 我需要模拟一些依赖项 但我需要一些方法才能使其仍然像以前一样工作 即 我有 class Dependency some stuff not important for the test public f
  • Rails 中两个表充当一个模型

    Rails 是否可以在依赖于两个表的联接的模型上进行设置 这意味着要找到 更新 销毁模型记录 需要将两个数据库表中的两条记录通过联接链接在一起 该模型只是将两个表的所有列包装在一起 然后可用于表单等 这样 当模型被创建 更新时 它只是一种应
  • 为 Mips 架构编译 C

    我已经看到了几种方法来做到这一点 到目前为止我还没有尝试过几种 但我想为了方便起见隔离这个方法 应该有一种方法可以通过 VIA gcc 来做到这一点 我更喜欢这个 我只是不断碰壁 我正在使用 debian7 并且可以使用其他任何风格 我暂时
  • 有人知道托管 TeamCity 构建提供商吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望建立一个 TeamCity 服务器来持续构建 NET Web 应用程序 我已经有了托管 所以我不想
  • 如何使用 PHP 将 base64 编码的二进制数据保存到 zip

    我从 API 请求响应中获取 Base64 二进制编码数据 我需要将其保存为 zip 文件 我使用如下代码
  • git-svn 可以像本地 subversion 客户端一样处理 CRLF 吗?

    我有一个托管在 Linux 上的 Subversion 存储库 但只能通过 Windows 客户端访问 因为它是大型 Windows 应用程序的源代码 如果我可以使用 git svn 由 msysgit 提供 处理这个存储库 那就太棒了 我
  • 在同一位置绘制顶点

    有没有一种方法可以在同一位置绘制两个图的共享节点 例如 两张图 g1 graph ring 5 V g1 name c node1 node2 node3 node4 node5 g1 g1 V g1 1 g2 graph ring 5 V
  • 更有效地编写 HTTP 脚本

    很多时候我想自动化 http 查询 我目前使用 Java 和 commons http 客户端 但可能更喜欢基于脚本的方法 事情真的又快又简单 我可以在其中设置标头 转到页面 而不必担心设置整个 OO 生命周期 设置每个标头 调用 html
  • GWT 2.4.0 RequestFactory 多态性

    GWT 2 4是否支持这种情况 Entity class MyBase Entity class MyChild1 extends MyBase Entity class MyChild2 extends MyBase ProxyFor M
  • 如何在 Remix.run 开发模式下使用内存缓存?

    我需要从一个非常慢且很少变化的 API 获取数据 所以我想我应该使用内存缓存 我首先尝试了一种非常简单的方法 只需将其保存到路径中加载器函数范围之外的变量中 let cache export const loader async gt if
  • 将两个集合与范围条件组合起来

    我有一个集合 产品 其中包含如下文档 id 142347106 name product 1 id 135377126 name product 2 我还有另一个系列 价格 id ObjectId 59310a6bad6e99863c2a6