mongo db常见操作

1.命令窗口操作

1.1连接本地数据库

zxl@zxl:~$ mongo 127.0.0.1
MongoDB shell version: 2.6.10
connecting to: 127.0.0.1/test
Server has startup warnings: 
2019-09-19T08:21:59.078+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2019-09-19T08:21:59.078+0800 I CONTROL  [initandlisten] 

1.2查看数据库

> show databases
autotest     0.078GB
local        0.078GB
zxl_test_db  0.203GB

1.3切换数据库

> use zxl_test_db
switched to db zxl_test_db

1.4查看数据库中的表

> show tables
system.indexes
table_10102

1.5一次查询行数

DBQuery.shellBatchSize = 300

1.6普通查询

> db.table_10102.find()

1.7统计查询结果次数

> db.table_10102.find().count()
22835

1.8组合查询

> db.table_10102.aggregate([{"$group": {'_id': {'id': "$id", 'version': "$version", 'ptf': "$ptf"}, 'count': {'$sum': 1}}}])

2.python查询

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import pymongo
from bson.son import SON

MONGO_SERVER = "127.0.0.1"
MONGO_PORT = 27017
conn = pymongo.MongoClient(MONGO_SERVER, MONGO_PORT)
db = conn["zxl_test_db"]
table_10102 = db['table_10102']

if __name__ == "__main__":
    pipeline = [
        # {'$match': {'id': "5"}},
        # {'$match': {'version': "2"}},
        # {'$match': {'province': "广东省"}},
        # {'$match': {'province': []}},

        # {"$group": {"_id": "$province", "count": {"$sum": 1}}},
        {"$group": {'_id': {'id': "$id", 'version': "$version", 'ptf': "$ptf"}, 'count': {'$sum': 1}}},
        # {"$group": {'_id': {'province': "$province", 'city': "$city"}, 'count': {'$sum': 1}}},
        # {"$group": {"_id": "$city", "count": {"$sum": 1}}},
        # {"$group": {"_id": "$ip", "count": {"$sum": 1}}},
        
        {"$sort": SON([("count", -1), ("_id", -1)])}
    ]

    for item in db.table_10102.aggregate(pipeline):
        print(item)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值