mngoDB 常用语法
mongo 192.168.1.161:27017;
show dbs;
use asdfwerwe_test;
db.tab_data_result.find();
db.tab_data_period.find();
### 导入,导入数据格式很严谨
mongoimport -h 192.168.1.161:27017 -d asdfswe_test -c tab_data_result d:\data.txt
db.things.remove({"x":"12"});
条件
db.collection.find({"field":{$gt:value}});
db.collection.find({"field":{$lt:value}});
db.collection.find({"field":{$gte:value}});
db.collection.find({"field":{$lte:value}});
范围段
db.collection.find({"field":{$gt:value1,$lt:value2}});
$all匹配所有:
db.users.find({age:{$all:[6,7,8]}});
$exists判断字段是否存在
db.users.find({age:{$exists:true}});
不存在
db.users.find({age:{$exists:false}});
null的处理
db.things.find({y:null});
查询包含null的对象
db.AddUser(username,password) //添加用户
db.auth(usrename,password) //设置数据库连接验证
//例子mongo 192.168.0.178use admindb.auth("mongosa" ,"abc123d");//授权登录use basdfsd_test;
db.commandHelp(name) //returns the help for the command
db.copyDatabase(fromdb,todb,fromhost) //复制数据库fromdb---源数据库名称,todb---目标数据库名称,fromhost---源数据库服务器地址
db.createCollection('name',{size:3333,capped:333,max:88888}) //创建一个数据集,相当于一个表
db.dropDataBase() //删除当前数据库
db.eval(func,args) //run code server-side
db.getCollection(cname) //取得一个数据集合,同用法:db['cname'] or
db.getCollenctionNames() //取得所有数据集合的名称列表
db.getLastError() //返回最后一个错误的提示消息
db.getLastErrorObj() //返回最后一个错误的对象
db.getMongo() //取得当前服务器的连接对象get the server
db.getMondo().setSlaveOk() //allow this connection to read from then nonmaster membr of a replica pair
db.getName() //返回当操作数据库的名称
db.getPrevError() //返回上一个错误对象
db.getProfilingLevel()
db.getReplicationInfo() //获得重复的数据
db.getSisterDB(name) //get the db at the same server as this onew
db.killOp() //停止(杀死)在当前库的当前操作
db.printCollectionStats() //返回当前库的数据集状态
db.printReplicationInfo()
db.printSlaveReplicationInfo()
db.printShardingStatus() //返回当前数据库是否为共享数据库
db.removeUser(username) //删除用户
db.repairDatabase() //修复当前数据库
db.resetError()
db.runCommand(cmdObj) //run a database command. if cmdObj is a string, turns it into {cmdObj:1}
db.setProfilingLevel(level) //0=off,1=slow,2=all
db.shutdownServer() //关闭当前服务程序
db.version() //返回当前程序的版本信息
数据集(表)操作
db.test.find({id:10}) //返回test数据集ID=10的数据集
db.test.find({id:10}).count() //返回test数据集ID=10的数据总数
db.test.find({id:10}).limit(2) //返回test数据集ID=10的数据集从第二条开始的数据集
db.test.find({id:10}).skip(8) //返回test数据集ID=10的数据集从0到第八条的数据集
db.test.find({id:10}).limit(2).skip(8) //返回test数据集ID=1=的数据集从第二条到第八条的数据
db.test.find({id:10}).sort() //返回test数据集ID=10的排序数据集
db.test.findOne([query]) //返回符合条件的一条数据
db.test.getDB() //返回此数据集所属的数据库名称
db.test.getIndexes() //返回些数据集的索引信息
db.test.group({key:...,initial:...,reduce:...[,cond:...]})
db.test.mapReduce(mayFunction,reduceFunction,<optional params>)
db.test.remove(query) //在数据集中删除一条数据
db.test.renameCollection(newName) //重命名些数据集名称
db.test.save(obj) //往数据集中插入一条数据
db.test.stats() //返回此数据集的状态
db.test.storageSize() //返回此数据集的存储大小
db.test.totalIndexSize() //返回此数据集的索引文件大小
db.test.totalSize() //返回些数据集的总大小
db.test.update(query,object[,upsert_bool]) //在此数据集中更新一条数据
db.test.validate() //验证此数据集
db.test.getShardVersion() //返回数据集共享版本号
MongoDB语法与现有关系型数据库SQL语法比较
db.test.find({'name':'foobar'})
// SELECT * FROM test WHERE name='foobar'
db.test.find()
// SELECT * FROM test
db.test.find({'data_id':10}).count()
// SELECT COUNT(*) FROM test WHERE data_id=10
db.test.find().skip(10).limit(20)
// SELECT * FROM test LIMIT 10,20
db.test.find({'data_id':{$in:[25,35,45]}})
// SELECT * FROM test WHERE data_id IN (25,35,45)
db.test.find().sort({'data_id':-1})
// SELECT * FROM test ORDER BY data_id ASC
db.test.distinct('name',{'data_id':{$lt:20}})
// SELECT DISTINCT(name) FROM test WHERE data_id<20
db.test.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}})
// SELECT name,SUM(marks) FROM test GROUP BY name
db.test.find('this.data_id<20',{name:1})
// SELECT name FROM test WHERE data_id<20
db.test.insert({'name':'foobar','age':25})
// INSERT INTO test ('name','age') VALUES('foobar',25)
db.test.remove({})
// DELETE * FROM test
db.test.remove({'age':20})
// DELETE test WHERE age=20
db.test.remove({'age':{$lt:20}})
// SELETE test WHERE age<20
db.test.remove({'age':{$lte:20}})
// DELETE test WHERE age<=20
db.test.remove({'age':{$gt:20}})
// DELETE test WHERE age>20
db.test.remove({'age':{$gte:20}})
// DELETE test WHERE age>=20
db.test.remove({'age':{$ne:20}})
// DELETE test WHERE age!=20
db.test.update({'name':'foobar'},{$set:{'age':36}})
// UPDATE test SET age=36 WHERE name='foobar'
db.test.update({'name':'foobar'},{$inc:{'age':3}})
// UPDATE test SET age=age+3 WHERE NAME='foobar'
Mongodb使用总结
1.启动mongodb的服务使用:
mongod --help
启动mongodb的本地服务(data目录和bin同级别)
mongod --dbpath ../data
从参数文件中启动
mongod -f /etc/mongodb.cnf
后台启动方式:
mongod --dbpath=../data --logpath=../logs --fork
2.登录mongodb数据库
mongo --help
登录本地数据库
mongo
登录远程数据库:
mongo 123.123.101.41:27017/mash5
3.恢复本地dump文件
查看帮助:
mongorestore --help
导入本地的dump文件
mongorestore C:\mongodb\bin\dump_bak_11241739\mash5
导入多个数据库
mongorestore --directoryperdb C:\mongodb\bin\dump_bak_11241739
4.备份数据库
查看帮助
mongodump --help
在mongodump命令目录里生成一个dump目录存储导出文件(导出多个数据库)
mongodump
导出数据库到某一个目录(单个数据库)
mongodump --db mash5 -o C:\temp
远程导出
mongodump -h localhost --port 27017 -o c:\temp
5.查看mongodb的数据库性能
查看帮助
mongostat --help
查看所有性能相关的情况
mongostat
6.查看mongo相关的系统信息
查看mongos的帮助
mongos --help
查看mongo的版本
mongos --version
修改一些mongo数据库的相关的参数信息可以采用mongos
7.mongo数据库中gridfs相关的文件信息
8.mongoexport导出
导出test数据库中things表的数据信息
mongoexport -d test -c things -o things.dat
参数说明
-d 指明使用的库, 本例中为” my_mongodb”
-c 指明要导出的表, 本例中为”user”
-o 指明要导出的文件名, 本例中为”user.dat”
从上面可以看到导出的方式使用的是 JSON的样式
导出test数据库中things表中x,y字段以csv格式导出
mongoexport -d test -c things -f x,y --csv -o things.data
输出test数据库中things表中x,y字段以json数组格式显示
mongoexport -d test -c things -f x,y --jsonArray
9.mongoimport 导入
导入JSON格式的test数据库things表中
mongoimport -d test -c things --type json --drop --file things.data
导入cvs数据库
./mongoimport -d my_mongodb -c user --type csv --headerline --file
user_csv.dat
参数说明
-type 指明要导入的文件格式
-headerline 批明不导入第一行,因为第一行是列名
-file 指明要导入的文件路径
mongo常用一些命令:
寻求帮助
help
查看所有的数据库
show dbs
查看一个数据库所有的表
show collection
查看用户
show users
show profile;
查看主机的名称
hostname();
查看当前目录
pwd();
查看数据库相关的帮助:
db.help();
查看mongo数据库当前数据库服务器状态
db.serverStatus();
查看当前数据库名称:
db.getName();
查看当前版本
db.version();
查看数据库表的情况
db.getCollectionNames();
查看数据库是否存在一个表
db.getCollection("Feed");
是否为主数据库
db.isMaster();
数据库的情况
db.stats();
关闭数据库
use admin
db.shutdownServer();
获取当前连接的对象
db.getMongo()
删除Mongo数据库
db.dropDatabase();
创建一个Mongo表对象
db.createCollection("TBS");
删除数据的表对象
db.mash5.drop();
显示当前数据库的操作
db.currentOp();
查看所有的数据库命令:
db.listCommands();
查看数据库相关命令:
db.help();
常用Mongodb SQL语句:
分页查询
db.Feed.find().skip(300).limit(10000);
单个条件查询
db.Task.find({ "tag" : "个人" }).limit(50);
多个条件查询
db.Task.find({ "tag" : "个人", "_id" : ObjectId("4e169d85cc4370e29bc6c72e") }).limit(50).explain();
根据结构型查询
db.Task.find({ "bo.Fields.Label" : "私信" }).limit(50).explain();
db.Task.find({"status":"1"}).count();
db.Task.findOne({"status":"1"});
JS特性:
for(var i=0;i<20;i++){
db.Task.save({x:i*4,y:i*i});
}
var cursor=db.Task.find();
while(cursor.hasNext()){
printjson(cursor.next());
}
db.Task.find().forEach(printjson);
var cursor=db.things.find();
printjson(cursor[4]);
var arr=db.things.find().toArray();
arr[5];
printjson(db.things.findOne({name:"mongodb"}));
db.things.update({name:"mongodb"},{$set:{name:"mongo_db"}})
mngoDB 常用语法的更多相关文章
- Markdown通用的常用语法说明
前言 Markdown 是一种轻量级的 标记语言,语法简洁明了.学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用. Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表 ...
- Markdown简介以及常用语法
Markdown简介以及常用语法 最近发现用markdown记录东西很方便,感觉和emacs的org mode很类似,但是windows下使用emacs不是很方便.特此记录一下markdown常用的语 ...
- Sql常用语法以及名词解释
Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...
- Markdown常用语法
什么是Markdown Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文档. 通过Markdown简单的语法,就可以使普通文本内容具有 ...
- 2 hive的使用 + hive的常用语法
本博文的主要内容有: .hive的常用语法 .内部表 .外部表 .内部表,被drop掉,会发生什么? .外部表,被drop掉,会发生什么? .内部表和外部表的,保存的路径在哪? .用于创建一些临时表存 ...
- sql 常用语法汇总
Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...
- ES6常用语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- python MVC、MTV 框架介绍 Django 模板系统常用语法
Django 框架简介一.MVC框架和MTV框架1.MVC 全名Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分.优势: 耦合性低 重用性高 生命 ...
- PHP中Smarty引擎的常用语法
PHP中Smarty引擎的常用语法 输出今天的日期: {$smarty.now|date_format:"%H:%M %A, %B %e, %Y"} 实际上用到了PHP的time( ...
随机推荐
- android与PC直连的socket问题
关键字:abdroid 模拟器 socket 突然有人说使用android的模拟器做socket服务器,PC做客户端,使用UDP通信的时候,android端无法收到数据包.反过来没问题,我觉得这怎么可 ...
- Appium+python自动化8-Appium Python API【转载】
前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contexts(self): Returns the contexts withi ...
- Python与数据库[2] -> 关系对象映射/ORM[3] -> sqlalchemy 的声明层 ORM 访问方式
sqlalchemy的声明层ORM访问方式 sqlalchemy中可以利用声明层进行表格类的建立,并利用ORM对象进行数据库的操作及访问,另一种方式为显式的 ORM 访问方式. 主要的建立步骤包括: ...
- HashSet底层存储元素的源码分析
此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持.它不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用 null 元素. HashSet<Strin ...
- 固件分析工具Binwalk
固件分析工具Binwalk 固件是保存在嵌入式设备存储器的程序.它负责设备运行和功能,如路由器等设备.通过分析固件文件,可以了解设备的工作方式,并且确认是否存在漏洞.Binwalk是Kali Li ...
- [xsy2724]Tree
题意:给一棵树,找出$k$个点$A_{1\cdots k}$以最小化$\begin{align*}\sum\limits_{i=1}^{k-1}dis_{A_i,A_{i+1}}\end{align* ...
- python全栈开发- day14列表推导式、生成器表达式、模块基础
一.列表推导式 #1.示例 数据量小 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i fo ...
- php升级版本
Centos下Yum安装PHP5.5,5.6,7.0 默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | ...
- JsonConfig处理日期时间
写在前面: 页面发送ajax请求到后台,后台返回对应的json格式数据给前台页面进行数据展示,如果json数据中含有日期时间,就需要对日期进行处理 下面是相关的代码部分 JsonConfig json ...
- sql server 2005 链接服务器:未将服务器 配置为用于 RPC
原文:sql server 2005 链接服务器:未将服务器 配置为用于 RPC RPC: 远程过程调用(Remote Procedure Calls) --LinkedServer.Rpc 属性: ...