http://topmanopensource.iteye.com/blog/1278812### 连接写法:[IP地址:端口号]
mongo 192.168.1.161:27017;
show dbs;
db;--显示正在使用的数据库
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.things.find({age:{"$in":[null],"$exists":true}}); 
 
基本操作
db.AddUser(username,password)  //添加用户
db.auth(usrename,password)     //设置数据库连接验证
//例子
mongo 192.168.0.178
use admin
db.auth("mongosa" ,"abc123d");//授权登录
use basdfsd_test;
db.cloneDataBase(fromhost)     //从目标服务器克隆一个数据库
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.currentOp()                 //取消当前库的当前操作
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.name.drop();//删除一个集合
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 DESC
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 常用语法的更多相关文章

  1. Markdown通用的常用语法说明

    前言 Markdown 是一种轻量级的 标记语言,语法简洁明了.学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用. Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表 ...

  2. Markdown简介以及常用语法

    Markdown简介以及常用语法 最近发现用markdown记录东西很方便,感觉和emacs的org mode很类似,但是windows下使用emacs不是很方便.特此记录一下markdown常用的语 ...

  3. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  4. Markdown常用语法

    什么是Markdown Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文档. 通过Markdown简单的语法,就可以使普通文本内容具有 ...

  5. 2 hive的使用 + hive的常用语法

    本博文的主要内容有: .hive的常用语法 .内部表 .外部表 .内部表,被drop掉,会发生什么? .外部表,被drop掉,会发生什么? .内部表和外部表的,保存的路径在哪? .用于创建一些临时表存 ...

  6. sql 常用语法汇总

    Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...

  7. ES6常用语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  8. python MVC、MTV 框架介绍 Django 模板系统常用语法

    Django 框架简介一.MVC框架和MTV框架1.MVC 全名Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分.优势: 耦合性低 重用性高 生命 ...

  9. PHP中Smarty引擎的常用语法

    PHP中Smarty引擎的常用语法 输出今天的日期: {$smarty.now|date_format:"%H:%M %A, %B %e, %Y"} 实际上用到了PHP的time( ...

随机推荐

  1. python登陆github

    #!/usr/bin/env python # encoding: utf-8 import requests from headers import headers from lxml import ...

  2. Object和Thread自带的原生方法

    Object类: 1) clone():创建并返回此对象的一个副本. 2) equals(obj):指示其对象是否与此对象“相等”. 3) finalize():当垃圾回收器确定不存在对该对象的更多引 ...

  3. 免格式化制作老毛桃PE工具

    由于移动硬盘数据很多,格式化制作太麻烦 先去老毛桃官网下载PE,生成ISO文件 将移动硬盘单独划分一个2G的空间用于装老毛桃,并格式化为FAT32格式,这样就避免全盘格式化了,只需要格式化这个分区   ...

  4. Selenium2+python自动化16-alert\confirm\prompt【转载】

    前言 不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决. alert\confirm\prompt ...

  5. springBoot Feign

    1.引入依赖包 <!-- 引入关于 eureka-server的依赖 --> <dependency> <groupId>org.springframework.c ...

  6. [scrapy] 爬了第一页就停止 filtered off site request to

    我碰到这个问题的原因是 allowed_domains 写错了 至于还有没有别的原因就不知道了

  7. HDU 6271 Master of Connected Component(2017 CCPC 杭州 H题,树分块 + 并查集的撤销)

    题目链接  2017 CCPC Hangzhou Problem H 思路:对树进行分块.把第一棵树分成$\sqrt{n}$块,第二棵树也分成$\sqrt{n}$块.    分块的时候满足每个块是一个 ...

  8. hiho一下第133周 2-SAT·hihoCoder音乐节(2-SAT)(强连通)

    2-SAT·hihoCoder音乐节 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 hihoCoder音乐节由hihoCoder赞助商大力主办,邀请了众多嘉宾和知名乐队 ...

  9. java 概括

    作者:Dnvce链接:https://www.zhihu.com/question/61950442/answer/441166734来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  10. Visio中汇总两个箭头

    RT,相似度和信任度矩阵融合,两个箭头,选中其中一个,可以选格式--线条--终点选无,或者在快捷那选线条.