日期:2014-05-16  浏览次数:20493 次

MongoDB(2)shell命令操作数据库 2查询

?

? ?db.collections(名称).find;返回 的是find function 的结构

? ? function (query, fields, limit, skip) {

    return new DBQuery(this._mongo, this._db, this, this._fullName, this._massag
eObject(query), fields, limit, skip);
}
?

? ? 第一个参数 是查询条件 ,第二个是 指定字段 ,第三个是数量,第四个是起点

?

/**

 ?????? 



查询
??????? 



**/

db.order.find();//

相当于select *from order

?

?

db.order.find({name:'lisa'});//

相当于 select * from order where order.name=’lisa’

?

?

db.order.find({id:{$gt:2}});//

相当于select *from order where order.id>2 

?

?

db.order.find({id:{$gte:2}})//

相当于 select *from order where order.id>=2

?

?

db.order.find({id:{$gte:2,$lte:4}})// select *from order where id>=2 and id<=4;

?

?

db.order.find({name:/e/}) // select *from order where name like ‘%e%’

?

?

db.order.find({name:/^lee/}) //select *from order where name like ‘lee%‘

?

?

db.order.find({},{name:1,id:1}) //

指定 id name

为搜索自动 select id,name from order

?

?

db.order.find({id:{$gt:2}},{id:1,name:1});//select id ,name from order where id >2;

?

?

db.order.find().sort({id:1}); //select *from order order by id asc 



?

?

db.order.find().sort({id:-1}); //select *from order order by id desc



?

?

?

db.order.find({name:/e/,id:{$gte:2}});// select *from order where name like ‘%e%’ and id >=2

?

db.order.find().limit(3);// select top 3 *from order;

?

?

db.order.find().limit(10).skip(5);// 

分页 limit 

一页取多少条 skip 

起始页 select *from order limit 50,60

?

?

db.order.find({$or:[{id:2},{id:5}]});// or

与 查询select *from order where id=2 or id=5

?

?

db.order.findOne(); //

查询第一条数据select top 1 *from order;

?

?

db.order.find({id:{$gt:2}}).count();//

查询某个结果集的记录条数
select count(*) from order where id>2

?

?

db.order.find({name:{$exists:true}}).count();//

按照某列进行排序
 select count(name) from order

?

?

db.order.ensureIndex({name:1}) // 

创建索引

?

?

db.order.totalIndexSize(); //

查看总索引记录大小
?<