初始化部分
System.out.println("基础初始化部分开始");
    Mongo m = new Mongo("localhost", 27017);
    // 选择数据库,如果没有这个数据库的话,会自动建立
    DB db = m.getDB("ms_basic");
    // 建立一个集合,和数据库一样,如果没有,会自动建立
    DBCollection coll = db.getCollection("leeCollection");
    DBCursor cur = null;
    long startTime = 0;
    BasicDBObject query = null;
    BasicDBObject field = null;
    BasicDBObject sort = null;
    List inList = null;
System.out.println("基础初始化部分完毕");
,,,,
  public   static   void showAllDataFromCursor(DBCursor cur) {
    while (cur.hasNext()) {
      System. out .println(cur.next());
    }
}
普通查询
System.out.println("-----------华丽分隔线---------------");
System. out .println( "
SELECT * FROM schedule
WHERE startDate='2010-11-18' and disciplineName='田径'
and phaseName='决赛'" );
    startTime = System. currentTimeMillis ();
    query = new BasicDBObject();
    query.put( "startDate" , "2010-11-18" );
    query. put ( "disciplineName" , "田径" );
    query.put( "phaseName" , "决赛" );
    cur = coll.find(query);  
    System. out .println( "查询获得的长度" +cur.count());
    System. out .println( "查询耗时:" +(System. currentTimeMillis ()-startTime)+ "毫秒." );
showAllDataFromCursor (cur);
System. out .println( "-----------华丽分隔线---------------" );
    System. out .println( "SELECT * FROM schedule WHERE rsc='ATM033101'" );
    startTime = System. currentTimeMillis ();  
    query = new BasicDBObject();
    query.put( "rsc" , "ATM033101" );
    cur = coll.find(query);  
    System. out .println( "查询获得的长度" +cur.count());
    System. out .println( "查询耗时:" +(System. currentTimeMillis ()-startTime)+ "毫秒." );
showAllDataFromCursor (cur);
System. out .println( "-----------华丽分隔线---------------" );
System . out .println( "
SELECT * FROM schedule
order by startDate asc,startTime asc limit 2,10" );
sort = new BasicDBObject();
    sort.put( "startDate" , 1);
sort.put( "startTime" , 1);
    startTime = System. currentTimeMillis ();  
    cur = coll.find().sort(sort).limit(2).skip(10); 
    System. out .println( "查询获得的长度" +cur.count());
    System. out .println( "查询耗时:" +(System. currentTimeMillis ()-startTime)+ "毫秒." );
    showAllDataFromCursor (cur);
高级查询
http://www.mongodb.org/display/DOCS/Advanced+Queries
Introduction
Retrieving a Subset of Fields
$slice operator
Conditional Operators : <, <=, >, >=
Conditional Operator : $ne
Conditional Operator : $in
Conditional Operator : $nin
Conditional Operator : $mod
Conditional Operator: $all
Conditional Operator : $size
Conditional Operator: $exists
Conditional Operator: $type
$or
Regular Expressions
Value in an Array
Conditional Operator: $elemMatch
Value in an Embedded Object
Meta operator: $not
Javascript Expressions and $where
sort()
limit()
skip()
snapshot()
count()
group()
Special operators
See Also 
这里列举部分示例:
? Regular Expressions
System. out .println( "-----------华丽分隔线---------------" );
System. out .println( "
SELECT * FROM schedule
WHERE rsc like 'ATM%'and length(rsc)=9" );
    startTime = System. currentTimeMillis ();  
    query = new BasicDBObject();
    query.put( "rsc" ,Pattern. compile ( "ATM[A-Z0-9]{6}" , Pattern. CASE_INSENSITIVE ));
    cur = coll.find(query);  
    System. out .println( "查询获得的长度" +cur.count());
    System. out .println( "查询耗时:" +(System. currentTimeMillis ()-startTime)+ "毫秒." );
showAllDataFromCursor (cur);
这里可以理解为: rsc like 'ATM%'and length(rsc)=9
? 选择固定字段
System. out .println( "-----------华丽分隔线---------------" );
    System. out .println( "SELECT rsc,startDate,startTime, competitionStatus FROM schedule WHERE competitionStatus =1 order by startDate asc,startTime asc limit 10" );
    startTime = System. currentTimeMillis ();  
    query = new BasicDBObject();
    query.put( "competitionStatus" , 1 ); 
    field = new BasicDBObject();
    field.put( "rsc" , true );
    field.put( "startDate" , true );
    field.put( "startTime" , true );
    field.put( "competitionStatus" , true );
    cur = coll.find(query,field).sort(sort).limit(10);  
    System. out .println( "查询获得的长度" +cur.count());
    System. out .println( "查询耗时:" +(System. currentTimeMillis ()-startTime)+ "毫秒." );
showAllDataFromCursor (cur);
MySql 查询 数据库 Mongodb那些事儿

0

收藏

上一篇:第三章 MongoDb Java... 下一篇:第四章 查询语句:MongoDb...
noavatar_middle.gif
乐少黑板报

131篇文章,54W+人气,17粉丝

互联网攻城狮

关注
noavatar_middle.gif

Ctrl+Enter 发布

发布

取消

推荐专栏更多

十年老兵教你练一套正宗的MySQL降龙十八掌

MySQL全通晓

共18章 | 张甦

¥51.00 402人订阅
订   阅
负载均衡高手炼成记

高并发架构之路

共15章 | sery

¥51.00 507人订阅
订   阅

猜你喜欢

啥是佩奇,从需要到研发 一次缓存性能问题排查 用Kibana和logstash快速搭建实时日志查询、收集与分析系统 数据库设计(一)——数据库设计 Shell脚本中循环语句for,while,until用法 Mysql支持的数据类型(总结) 《灰鸽子VIP帐号密码邮箱数据库》 25_Shell语言————if条件判断之组合判断(与、或、非)和多分支if语句 标准SQL的update语句三种用法 Mysql数据库的使用总结之ERROR 1146 (42S02) 大数据采集、清洗、处理:使用MapReduce进行离线数据分析完整案例 没有宫廷内斗,数据库界的延禧攻略 MongoDB分片集群部署 Mongodb 分片集群部署 MongoDB lsm降低 disk lantency Mongodb分片原理详解及架构部署 MongoDB Replica Set 部署 MongoDB(4.0)分片——大数据的处理之道 MongoDB基本操作、备份还原及用户管理 Yum安装MongoDB及数据库管理
left-qr.jpg

扫一扫,领取大礼包

0

分享
关注
乐少黑板报
noavatar_middle.gif

转载于:https://blog.51cto.com/jooben/350747

你可能感兴趣的:(第四章 查询语句:MongoDb VS MySql 4.1)