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 Files\MongoDB\Server\3.0\bin
->运行命令 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:\LOADrunner\C2C社区\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 这个用户
mongo迁库:
首先登入主库,然后执行从目标机copy
然后创建账号
use Ymt_Auth_201406
db.createUser( { "user" : "authuser","pwd":"123456","roles":[{role:"readWrite",db:"Ymt_Auth_201406"}]},{ w: "majority" , wtimeout: 5000 } )