mongo数据库,由于在使用mongo数据库的时候,不可避免直接对通过一个数据库进行语句操作,尤其是分析 语句执行的计划。
一、数据库操作
1、文件数据的导出(由于mongo 基本都有人证,故添加了认证),需要进入mongoDB的bin目录下操作
mongoexport -u root -p 123 --authenticationDatabase admin -d xc_cms -c mongoTest -o E:\mongoTest.json
-h,–host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
–port:代表远程连接的数据库的端口,默认连接的远程端口27017;
-u,–username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
-p,–password:代表连接数据库的账号对应的密码;
-d,–db:代表连接的数据库;
-c,–collection:代表连接数据库中的集合;
-f, --fields:代表集合中的字段,可以根据设置选择导出的字段;
–type:代表导出输出的文件类型,包括csv和json文件;
-o, --out:代表导出的文件名;
-q, --query:代表查询条件;
–skip:跳过指定数量的数据;
–limit:读取指定数量的数据记录;
–sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。
注意:
当查询时同时使用sort,skip,limit,无论位置先后,最先执行顺序 sort再skip再limit
``
2、文件数据导入
mongoimport -u root -p 123 --authenticationDatabase admin -d xc_cms -c mongoTest2 E:\mongoTest.json
h,–host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
–port:代表远程连接的数据库的端口,默认连接的远程端口27017;
-u,–username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
-p,–password:代表连接数据库的账号对应的密码;
-d,–db:代表连接的数据库;
-c,–collection:代表连接数据库中的集合;
-f, --fields:代表导入集合中的字段;
–type:代表导入的文件类型,包括csv和json,tsv文件,默认json格式;
–file:导入的文件名称
–headerline:导入csv文件时,指明第一行是列名,不需要导入;
3、mongo进入的基本语法
//mongo的登陆(需要进入mongoDB的bin目录下操作)
mongo.exe -u root -p 123 --authenticationDatabase admin
// 查看有哪些数据库
show dbs;
// 查看当前所在数据库,默认test
db;
// 切换到某一数据库,没有的话则创建
use xc_cms;
// 新建集合 mongoTest3
db.createCollection("mongoTest3");
// 查看当前数据库下有哪些集合
show collections;
//删除 mongoTest3 集合
db.mongoTest3.drop();
二、对集合操作
1、find查询语法
//查询valueStr为nihao
db.mongoTest2.find({"valueStr":"nihao"});
//对valueInt大于1
db.mongoTest2.find({"valueInt":{"$gt":1}});
//对valueInt小于1
db.mongoTest2.find({"valueInt": {"$lt": 5}});
//对valueInt小于5大于0
db.mongoTest2.find({"valueInt": {"$lt": 5, "$gt": 0}});
//对valueInt小于等于5大于等于1
db.mongoTest2.find({"valueInt": {"$lte": 5, "$gte": 1}});
//对valueInt不等于5
db.mongoTest2.find({"valueInt": {"$ne": 5}});
//对valueInt不等于5 从第3条数据开始,获取两条
db.mongoTest2.find({"valueInt": {"$ne": 5}}).limit(2).skip(2);
//对valueInt不等于5 ,只出现valueInt和valueInt2 两列