zoukankan      html  css  js  c++  java
  • mongoDB使用笔记

    mongoDB

    #切换数据库
    use database_Name
    
    #列出数据库
    show dbs
    
    #列出collections
    show collections
    
    #查询
    db.collection_Name.find({})

    查询结果排序

    db.collection_Name.find().sort({KEY:1})

    对查询结果进行排序,需要用到sort语句,语句中需要用到排序的字段,并且使用1表示正序,-1表示逆序。

    查询检索数量

    db.collection_Name.find().count();

    删除数据

    db.col.remove({'name':'123'})

    创建索引

    db.collection.createIndex(keys,options)

    keys:创建的索引字段 , options:1代表升序; -1代表降序, 可以创建多个字段变成复合索引

    过滤检索数量

    db.COLLECTION_NAME.find().sort({KEY:1}).limit(num)

    批量插入

    # 使用Roto 3T工具时如果要批量插入数据,可以写shell命令
    for(var i=0;i<100;i++){
        db.col.insert({ 
            "timestmap" : NumberLong(1535623212000),
            ...
        })
    }

    去重查询

    # 去重
    db.consumerecords.distinct("userId")
    # 对应sql
    select distinct userId from consumerecords
    
    # 加过滤条件
    db.consumerecords.distinct("userId",{act:"charge"})
    # 对应sql
    select distinct userId from consumerecords where act="charge"
    
    # 检索数量
    db.consumerecords.distinct("userId").length
    # 对应sql
    select count(distinct userId) from consumerecords 

    聚合查询

    db.col.aggregate([
    {$match:{timestamp:{$gte:1536854400000,$lt:1536897600000}}},
    {$group:{_id:"$symbol",count:{$sum:1}}}}
    ])
    db.bar_60s.aggregate([ {$match:{eob:{$gte:
    1536854400000,$lt:1536897600000}}}, {$group:{_id:"$symbol",count:{$sum:1}}}, {$group:{_id:"$symbol",num:{$sum:1}}} ])

    # 按照条件过滤并输出数量

      db.trade.aggregate([
        {$match:{symbol:"aaa",created_at:{$gte:1537597135000,$lt:1537597140000}}},
        {$group:{_id:"$symbol",count:{$sum:"$volume"}}}
      ])

    # python中使用aggregate要用for循环输出结果
    for doc in collection.aggregate(pipeline):
        print(doc) 
    # python中使用sort管道 from bson.son import SON pipeline
    = [ {"$unwind": "$tags"}, {"$group": {"_id": "$tags", "count": {"$sum": 1}}}, {"$sort": SON([("count", -1), ("_id", -1)])} ] import pprint pprint.pprint(list(db.things.aggregate(pipeline)))

     配置文件启动Mongo

    mongod -f /etc/mongod.conf

    修改数据

    db.col.update(
       {'_id':ObjectId("5c07e32df65a79053ae44f74")},    --query条件
       {$set:{'create_at':'2018-12-10 13:44:30'}}       -- update得内容
    )
  • 相关阅读:
    UVa 10118 记忆化搜索 Free Candies
    CodeForces 568B DP Symmetric and Transitive
    UVa 11695 树的直径 Flight Planning
    UVa 10934 DP Dropping water balloons
    CodeForces 543D 树形DP Road Improvement
    CodeForces 570E DP Pig and Palindromes
    HDU 5396 区间DP 数学 Expression
    HDU 5402 模拟 构造 Travelling Salesman Problem
    HDU 5399 数学 Too Simple
    CodeForces 567F DP Mausoleum
  • 原文地址:https://www.cnblogs.com/embraceU/p/10415978.html
Copyright © 2011-2022 走看看