• mongo基本操作


    一.MongoDB 数据 查询

    1.按条件查询记录:db.getCollection('表名').find({'字段名' : 字段值})

      例如:db.getCollection('Ymt_Social').find({'UserId' : 1000357715})

    2.按条件查询记录数量:db.getCollection('表名').find({'字段名' : 字段值}).count()

    例如:db.getCollection('Ymt_Social').find({'UserId' : 1000357715}).count()

    3.按照模糊条件查询记录数量:db.getCollection('表名').find({'字段名' : { '$regex' : '前部分内容.*' }}).count()

    例如:db.getCollection('Ymt_Social').find({'Content' : { '$regex' : 'sososo good very beautiful.*' }}).count()

    4.查询所有记录数量:db.getCollection('表名').find({}).count()

    5.排重查询 db.getCollection('表名').distinct("字段名")

    6.对查询结果排序 db.getCollection('TaskItem').find({}).sort({CreateTime:-1})   -1 降序,1 升序

    7. 查询操作符
    比较操作符"$gt" 、"$gte"、 "$lt"、 "$lte"、''$ne''(分别对应">"、 ">=" 、"<" 、"<="、''!=''),组合起来进行范围的查找
    示例:db.getCollection('ProductBasicInfo').find({"ValidEnd":{"$gt":new Date()}})
     

    二.MongoDB 数据导出mongoexport

    1.概述

     mongoexport命令行用于数据的导出,默认导出的文件格式为JSON格式。当然也可以指定特定的文件格式。

    2.语法

    说明:

    -h:数据库宿主机的IP

    -u:数据库用户名

    -p:数据库密码

    -d:数据库名字

    -c:集合的名字

    -f:导出的列名

    -q:导出数据的过滤条件

    --csv:导出格式为csv

    3.按字段导出数据步骤:

    ->首先要安装mongo的服务端

    ->然后在PC的运行中输入cmd

    ->进入mongo的安装文件路径下C:Program FilesMongoDBServer3.0in

    ->运行命令 mongoexport -h localhost:27001    -d库名  -c 表名 -f 字段名1,字段名2 --csv -o 路径/a.csv  

      例如:mongoexport -h 172.16.101.86 -d YmatouSocial -c Ymt_Social -f NoteId,UserId,AddTime --csv -o E:LOADrunnerC2C社区output7.csv

    4.按特定字段值导出数据语句:

    例如:mongoexport -h 172.16.101.86 --port 27017 -d YmatouSocial -c Ymt_Social -q "{Content:{$regex:'sososo good very beautiful.*'}}" --type=csv -f NoteId,UserId -o test.dat

    mongoexport -h 172.16.101.86 --port 27017 -d YmatouSocial -c Ymt_Social -q "{“Status”:0}" --type=csv -f NoteId,UserId -o test.dat

    导出uid和token

    mongoexport -h set1b.mongodb.ymatou.com --port 27017 -u authuser -p 123456 -d Ymt_Auth_Token -c UserToken --type=csv -f sId,uId -o test.dat

    导出登入密码是123456的uid和loginid

    mongoexport -h set1b.mongodb.ymatou.com --port 27017 -u authuser -p 123456 -d Ymt_Auth_201406 -c ULC_201406  -q "{'lPas':'F47C010581713BD523BE9B43677C4872'}" --type=csv -f uId,lBills.LoginId -o test.dat

    5:按特定字段值导出数据(限制条数)语句

    例如:mongoexport -h 172.16.101.86 --port 27017 -d YmatouSocial -c Ymt_Social  --limit 1  --type=csv -f NoteId,UserId -o test.dat

    --mongoexport -h 172.16.101.86 --port 27017 -d YmatouSocial -c Ymt_Social --limit 1 --type=csv -f NoteId,UserId -o test.dat

    mongoexport -h 172.16.103.213 --port 27017 -u authuser -p 123456 -d Ymt_Auth_Token -c UserToken --limit 1 --type=csv -f sId,uId -o E:ymt性能测试脚本Token.csv

    三.MongoDB 删除记录——linux命令

    1.删除数据库数据步骤:

    ->登陆linux

    ->输入mongo

    ->输入show dbs

    ->输入use 数据库

    ->输入show tables

    ->输入命令:db.Ymt_Social.remove({'Content' : { '$regex' : 'baby control the city ok.*' }})

    四.循环插入数据demo

    for (var i = 90000000; i <= 90000010; i++) db.getCollection('UserToken_App').save({"_id" : "3e30000132514a4b99e4434"+i,"tId" : "635f05c1469b408d9909880"+i,"sId" : "6B1BBEEE32367DA2B8232B9EC3509C1705EDBB454C007722A257A7C33D0148E9BD723C0EEA9412210499EDA5FB269F09DA54EBBBAFB4AC45","uId" : "9"+i,"eTtime" : ISODate("2015-03-19T04:37:19.983Z"),"cTime" :new Date(),"tSource" : "matouapp","tContext" : "reg"});

    for (var i = 0; i <= 255; i++)for (var j = 0; j <= 255; j++) db.getCollection('YmatouBlacklist_Ip').save({"_id" : "173.14."+i+"."+j,"CreateTime" : new Date(),"LastUpdateTime" : new Date(),"ExpiredTime" : new Date(),"AllowRequest" : false});

    五.json格式查询mongo服务状态

    mongostat -h 172.16.101.87 --discover --json

    六.killop

     var mo=db.currentOP().inprog[0];db.killOP(mo.opid)

    指定某个值的数据类型

    db.addressBook.insertMany(
       [
          { "_id" : 1, address : "2030 Martian Way", zipCode : "90698345" },
          { "_id" : 2, address: "156 Lunar Place", zipCode : 43339374 },
          { "_id" : 3, address : "2324 Pluto Place", zipCode: NumberLong(3921412) },
          { "_id" : 4, address : "55 Saturn Ring" , zipCode : NumberInt(88602117) }
       ]
    )

    mongo 服务器 set5a.mongodb.ymatou.com(172.16.101.89),set5b.mongodb.ymatou.com(172.16.101.90)

    用户名:root / abcd@1234

    执行 mongostat 命令需要切换到 sa/123456 这个用户

     mongostat -usa --authenticationDatabase admin 

    mongo迁库:

    首先登入主库,然后执行从目标机copy

     db.copyDatabase("Ymt_Auth_201406","Ymt_Auth_201406","172.16.101.161:27017","authuser","123456","MONGODB-CR")
    然后创建账号
    use Ymt_Auth_201406
    db.createUser( { "user" : "authuser","pwd":"123456","roles":[{role:"readWrite",db:"Ymt_Auth_201406"}]},{ w: "majority" , wtimeout: 5000 } ) 
  • 相关阅读:
    10分钟带你入门git到github
    ArrayList的删除姿势你都知道了吗
    大白话Java多线程,小白都能看的懂的哦
    万恶的NPE差点让我半个月工资没了
    宇宙条面试:这样跟面试官说代理,面试官对我竖起了大拇指!
    在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了。
    java采坑之路
    本地缓存高性能之王Caffeine
    本地缓存性能之王Caffeine
    influxdb基本命令
  • 原文地址:https://www.cnblogs.com/chenjiazhu/p/7425051.html
Copyright © 2020-2023  润新知