聚合 MongoDB 中的不同值

2024-01-08

我有一个 mongodb 数据库,有 18625 个集合。它有以下键:

    "_id" : ObjectId("5aab14d2fc08b46adb79d99c"), 
    "game_id" : NumberInt(4), 
    "score_phrase" : "Great", 
    "title" : "NHL 13", 
    "url" : "/games/nhl-13/ps3-128181", 
    "platform" : "PlayStation 3", 
    "score" : 8.5, 
    "genre" : "Sports", 
    "editors_choice" : "N", 
    "release_year" : NumberInt(2012), 
    "release_month" : NumberInt(9), 
    "release_day" : NumberInt(11)

现在,我希望创建另一个仅包含流派的维度/集合。

如果我使用以下查询:

db.ign.aggregate([ {$project: {"genre":1}}, { $out: "dimen_genre" } ]);

它生成 18625 个集合,尽管只有 113 个不同的集合 流派。

如何在此处应用不同值并获取仅具有不同 113 个值的流派集合。 我用谷歌搜索,bt 它表明聚合和不同在 mongo 中不能一起工作。 我也尝试过: db.dimen_genre.distinct('genre').length 这表明,dimension_genre 中有 113 种不同的流派。

恰恰, 如何从现有的集合中创建一个仅具有不同值的集合。

我对 NoSQL 真的很陌生。


您可以使用$addToSet https://docs.mongodb.com/manual/reference/operator/update/addToSet/将一个文档中的唯一值分组,然后$unwind https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/index.html要取回多个文档:

db.ign.aggregate([
    {
        $group: {
            _id: null,
            genre: { $addToSet: "$genre" }
        }
    },
    {
        $unwind: "$genre"
    },
    {
        $project: {
            _id: 0
        }
    },
    { $out: "dimen_genre" }
]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

聚合 MongoDB 中的不同值 的相关文章

  • 如何在 C# 中为 mongodb 文档的条目使用不同的名称?

    我正在尝试对以下文档进行 CRUD 操作MongoDB and C 我希望在 C 中使用具有长有意义的属性名称的固定结构化域实体 但由于每个属性的名称将保存在每个文档的 MongoDB 中 所以这不是一个好主意 这是因为属性名称将被冗余地保
  • 使用 mongoose 将非常大的 CSV 保存到 mongoDB

    我有一个包含超过 200 000 行的 CSV 文件 我需要将其保存到 MongoDB 如果我尝试 for 循环 Node 将耗尽内存 fs readFile data txt function err data if err throw
  • Cygnus版本升级导致STH-Comet读取查询日志差异

    我正在研究 Cygnus 和 STH Comet 想了解 Cygnus 版本升级的影响 我使用以下 docker compose yml 创建了一个环境 而且 我已经在注释掉的部分中切换了 Cygnus 版本来进行调查 docker com
  • 按 sum mongodb 分组[重复]

    这个问题在这里已经有答案了 这是我以前的 MySQL 查询 SELECT Count status as amt status FROM users GROUP BY status 这会返回类似的东西 amt status 3 0 210
  • 从 mongoDB 获取数据并在 HTML 上显示

    我无法理解如何从 MongoDB 数据库获取数据并将其显示在 HTML 上 我已经设置了数据 这是 server js 文件 const path require path const express require express con
  • 如何在docker compose中运行mongodb副本集

    我尝试在我的 Mac 中使用 mongodb community 在本地运行 mongodb 副本集MongoDB 文档 https docs mongodb com manual tutorial convert standalone t
  • 将 MongoDb 同步到 ElasticSearch

    我正在寻找一种将 MongoDB 中的集合与 Elastic Search ES 同步的方法 目标是以 MongoDB 作为主要数据源 并使用 MongoDB 作为全文搜索引擎 我的项目的业务逻辑是用python写的 网上有多种方法可供选择
  • 当使用带 _id 的复合分片键时,MongoDB 是否确保唯一的 _id 字段值

    我想启动分片 如您所知 分片键非常重要 我发现 使用 id 以外的分片键时 MongoDB 不确保 id 字段值唯一 http docs mongodb org manual faq sharding how does mongodb en
  • mongodb - 一个集合中的许多文档与多个集合中的许多文档

    我使用 mongodb 作为数据库存储 我的网络应用程序必须收集用户响应 用户响应是 mongodb 中的文档 或 sql 中的一行 一个文档的长度大约是10 200 用户响应被分类 仅到一个类别 每个类别的用户响应数在100 5000之间
  • 查找聚合中的管道在 mongodb 中不起作用

    我是 mongodb 的新手 所以我希望这不会成为一个非常基本的问题 我做了一些研究 并试图应用我所发现的东西 但有些东西似乎让我忽略了 我有两个以下格式的集合 Shop shopId 1002 shopPosId 10002 descri
  • Mongo JSON 文档 -> JSON -> BSON

    我正在使用 Node js 构建一个使用 mongodb 的 Web 套接字服务器 我使用 node mongodb native 作为访问 mongodb 的库 当我对数据库中的对象调用 console log sys inspect i
  • 聚合和展开数组,但保留顶级键

    假设我的收藏中有以下文档Classes收藏家 id ObjectId 5df58d45244a850d54b922c8 mentors numOfMentors NumberInt 1 mentorList ObjectId 5c9ba63
  • MacOS 每秒唤醒次数错误

    构建 Rails 应用程序 ruby 2 4 0p0 Rails 5 1 4 并使用我的 Macbook Air MacOS High Sierra 10 13 2 进行本地测试 我不断遇到此问题 过去 241 秒内有 45001 次唤醒
  • 带有卷的 docker 中的 Mongo db 持久化

    我正在尝试创建一个 mongo 数据库容器 但无法使数据持久化 这是我的 docker compose yml version 3 2 services mongodb image mongo 2 4 command smallfiles
  • MongoDB 复合键:InvalidOperationException:{document}.Identity 不受支持

    我在水合由复合 ID 组成的类时遇到问题 该复合 ID 又具有基类 我收到一条错误消息InvalidOperationException document Identity is not supported 我试图写入数据库的类如下 pub
  • 无法连接到服务器 127.0.0.1:27017 连接尝试失败 MongoDB

    我正在使用 Ubuntu 操作系统 16 04 我正在使用命令启动 mongodb sudo service mongod start进而mongo 它为我生成了这个错误 MongoDB shell version v4 0 1 conne
  • 使用 Spring Data MongoDB 查询纯 BSON

    是否可以在 Spring Data MongoDB 中查询纯 JSON BSON 数据 而无需将数据转换为实际的模型实现 我能找到的只是 MongoOperation 的
  • Mongodb 聚合数组中的子文档

    我正在使用 mongodb 作为后端实现一个小型应用程序 在此应用程序中 我有一个数据结构 其中文档将包含一个包含子文档数组的字段 我使用以下用例作为基础 http docs mongodb org manual use cases inv
  • Mongodb - 为现有集合添加架构

    我的 MongoDB 中有一个包含 1300 万条记录的集合 不幸的是 当我创建这个集合时 没有为其创建模式 我想知道除了备份整个数据库 创建架构并上传所有数据之外 是否有任何方法可以添加 JSON 架构 您可以使用以下方法将 JSON 架
  • Node.js 检测两个猫鼬查找何时完成

    我正在尝试使用自动完成功能初始化两个输入library https www devbridge com sourcery components jquery autocomplete 当我加载页面时 我将触发 Ajax 来初始化两个输入文本

随机推荐