mongo基本操作

Posted chenjiazhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 / [email protected]

执行 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 } ) 

以上是关于mongo基本操作的主要内容,如果未能解决你的问题,请参考以下文章

mongo 进阶之—— mongoose 认识

mongo 进阶之—— mongoose 认识

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

mongo 详解修改操作

mongo 详解修改操作