数据库ground by。感觉好复杂。不是不懂。而是感觉抓不住核心的地方。对于分组的前后顺序搞不懂

数据库ground by。感觉好复杂。不是不懂。而是感觉抓不住核心的地方。对于分组的前后顺序搞不懂,第1张

ground by就是对关系表中的元组,基于其后面的属性对应的属性值进行分组,具有相同属性值的记录放在一个组里,然后对应的select语句是对每个分组上对其它属性进行相关的统计,比如求和、平均、计数、最大值、最小值。查询后得到的结果是每个分组对应一个记录。如果需要对分组过滤的话,使用的是having子句。

2种方式:

(1)mongo shell

db.yourCollectionName.createIndex({fieldName: 1})

举例:

db.gameShortLink.createIndex({shortLink: 1})

(2)pymongo代码

      indexKeyList = [

("fieldName", pymongo.ASCENDING),

]

mongoCollection.create_index(indexKeyList)

注:

一次性创建多个索引,举例:

import pymongo

from pymongo import IndexModel

# from pymongo import ASCENDING, DESCENDING

indexShortLink = IndexModel([("shortLink", pymongo.ASCENDING)], name="shortLink")

indexIsParseOk = IndexModel([("parsedLink.isParseOk", pymongo.ASCENDING)], name="parsedLink_isParseOk")

indexErrType = IndexModel([("parsedLink.errType", pymongo.ASCENDING)], name="parsedLink_errType")

indexRealGameName = IndexModel([("parsedGame.realGameName", pymongo.ASCENDING)], name="parsedGame_realGameName")

indexGameTheme = IndexModel([("parsedGame.gameTheme", pymongo.ASCENDING)], name="parsedGame_gameTheme")

indexModelList = [

indexShortLink,

indexIsParseOk,

indexErrType,

indexRealGameName,

indexGameTheme,

]

mongoCollectionShortlink.create_indexes(indexModelList)

详见:(百度搜)

【已解决】用mongo的shell给MongoDB创建索引以提高查询速度

【已解决】PyMongo中如何一次性创建多个index索引


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6422427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存