You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB聚合去重值:如何创建仅含游戏类型的集合

创建MongoDB游戏类型维度集合方案

嘿,针对你拥有18625个游戏文档、需要创建仅含唯一游戏类型(genre)的维度集合的需求,我整理了两种实用的实现方法:

方法一:使用聚合管道(推荐大数据量场景)

聚合管道是处理这类批量数据去重并生成新集合的高效方式,尤其适合你这种上万条文档的场景:

// 替换your_original_collection为你的原始集合名称
db.your_original_collection.aggregate([
  // 按genre字段分组,自动去重
  { $group: { _id: "$genre" } },
  // 调整输出字段结构,将_id重命名为genre,并移除原_id字段
  { $project: { _id: 0, genre: "$_id" } },
  // 将结果写入新的维度集合genre_dimension
  { $out: "genre_dimension" }
])

执行完后,新集合genre_dimension里就会包含所有唯一的游戏类型,每个文档结构类似:{ "genre": "Sports" }。

方法二:使用distinct+循环插入(直观易理解)

如果你想先查看所有唯一的游戏类型,再手动控制插入逻辑,可以用这种方式:

// 获取原始集合中所有唯一的genre值
const uniqueGenres = db.your_original_collection.distinct("genre");

// 遍历数组,将每个genre插入到维度集合
uniqueGenres.forEach(genre => {
  db.genre_dimension.insertOne({ genre: genre });
})

验证结果

执行完任意一种方法后,你可以通过以下命令验证维度集合的内容:

db.genre_dimension.find().pretty()

这样就能确认所有游戏类型都已去重并正确存储啦!

内容的提问来源于stack exchange,提问作者Nidhi Agarwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:36:05