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

MongoDB中用Python获取Emotion集合所有maxEmotion属性值

解决MongoDB获取所有maxEmotion值的问题

嘿,我明白你遇到的困扰啦!你用db.Emotion.distinct("maxEmotion")得不到13个结果的原因很简单——distinct()方法的作用是返回指定字段的去重后的值,如果你的集合里有重复的maxEmotion值,它会自动合并相同的结果,所以数量自然会少于文档总数。

如果你想要获取每一条文档对应的maxEmotion值(不管重复,最终得到13个结果),可以用find()配合列表推导式来实现:

# 提取所有文档的maxEmotion值,保留重复项
emotions = [doc["maxEmotion"] for doc in db.Emotion.find({}, {"maxEmotion": 1, "_id": 0})]

简单解释下这段代码:

  • db.Emotion.find({}, {"maxEmotion": 1, "_id": 0}):查询集合里的所有文档,只返回maxEmotion字段,同时排除默认返回的_id字段,减少数据传输量
  • 列表推导式遍历查询结果,把每个文档中的maxEmotion值提取出来,最终得到一个包含13个元素的列表

这样就能得到和文档数量一致的所有maxEmotion值啦!

内容的提问来源于stack exchange,提问作者IS Student

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:59:18