小编Nid*_*arg的帖子

在 MongoDB 中聚合不同的值

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

    "_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)
Run Code Online (Sandbox Code Playgroud)

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

如果我使用以下查询:

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

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

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

确切地说,如何从只有不同值的现有集合中创建集合。

我对 NoSQL 真的很陌生。

mongodb

6
推荐指数
1
解决办法
1万
查看次数

ModuleNotFoundError: 没有名为“telethon”的模块

我已经使用以下代码安装了 Telethon:

sudo pip3 install telethon
Run Code Online (Sandbox Code Playgroud)

我尝试重新安装它并收到以下消息:

 Requirement already satisfied: pyasn1>=0.1.3 in /usr/local/lib/python3.7/site-packages (from rsa->telethon) (0.4.5)
Run Code Online (Sandbox Code Playgroud)

但是当我在我的代码中使用它时:

 from telethon import TelegramClient
Run Code Online (Sandbox Code Playgroud)

它显示以下错误:

ModuleNotFoundError: No module named 'telethon'
Run Code Online (Sandbox Code Playgroud)

我应该去哪里纠正这个错误?

python-3.x telethon

2
推荐指数
1
解决办法
4912
查看次数

标签 统计

mongodb ×1

python-3.x ×1

telethon ×1