Mongodb常用查询

作者: kakarotto | 来源:发表于2018-02-12 12:41 被阅读39127次

1,比较运算查询

最近在用mongo,有个需求是查询每天入库的数据量,翻了翻教程,
在mysql中查询是between..and..或者 >、>=、<、<=来查询指定的时间范围数据,
但是mongodb有自己的语法。mongodb里比较,用 "$gt" 、"$gte"、 "$lt"、 "$lte"分别对应">"、 ">=" 、"<" 、"<=",组合起来可以进行范围的查找。

例:查询2月11日data01中的数据条数,

查询2月11日data01中的数据条数,日期转为时间戳1518278400,字段名:DataTime

db.getCollection('data01').find({'DataTime':{'$gte':1518278400}}).count()

例:查询 age >= 20 并且 age <= 30
db.getCollection('data01').find({age : {$gte : 20, $lte: 30}})

2,查询所有记录

db.getCollection('v3_data_03').find(); // 相当于 select * from v3_data_03

3,查询nam字段的所有值

db.getCollection('v3_data_03').distinct("name"); // 会过滤掉name中的相同数据

相当于:select distinct name from userInfo;

4,模糊查询

查询name中包含mongo的数据
db.getCollection('v3_data_03').find({ "name" : /mongo/});
相当于 select * from v3_data_03where name like '%mongo%'
查询name中以mongo开头的
db.getCollection('v3_data_03').find("name" : /^mongo/");
相当于select * from v3_data_03where name like 'mongo%';

5,查询指定条件下指定列column、InMongoTimet数据

db.getCollection('v3_data_03').find({}, {"column":1, "InMongoTimet":1});//查询column和InMongoTimet这两个字段
db.getCollection('v3_data_03').find({}, {"column":0});  //查询除column外其他的字段
db.getCollection('v3_data_03').find({"column1":"demo"}, {"column":1, "InMongoTimet":1});//组合条件查询
相当于:select column,InMongoTimetfrom v3_data_03;

当然name也可以用true或false,当用true的情况下和name:1的效果一样,如果用false就是排除name,显示name以外的列信息。例:

db.getCollection('v3_data_03').find({}, {"column":true, "InMongoTimet":true}); //等效于上边第一条
db.getCollection('v3_data_03').find({}, {"column":fales});  //等效于上边第二条
查询指定列column、InMongoTimet数据,InMongoTimet> 1522339200 (3月30号之后的数据)
db.v3_data_03.find({InMongoTimet: {$gt : 1522339200}}, {column: 1 , InMongoTimet: 1})
相当于: select column, InMongoTimetfrom v3_data_03where InMongoTimet> 25;

6,排序查询

升序:db.getCollection('data_01').find({"column1":"","column":""}).sort({"DataTime":1}) //DataTime字段升序输出
降序:db.getCollection('data_01').find({"column1":"","column":""}).sort({"DataTime":-1})//降序输出

7,限制查询

db.getCollection('data_01').find().limit(5);  //查询前五条
相当于:select * from data_01 limit 5;

查询10条以后的数据
db.userinfo.find().skip(10);

8,分页查询

查询在5-10之间的数据

db.getCollection('data_01').find().limit(10).skip(5);

9,or查询

db.getCollection('data_01').find({$or : [{column: "2"}, {column1: "24"}]});
相当于:select * from data_01 where column= 2 or  column1 =  24;

10,查询条数

db.getCollection('data_01').find({}).count()
相当于:select count(*) from data_01where age >= 20;

11,按照某列进行排序

db.getCollection('data_01').find({column: {$exists : true}}).count();
相当于:select count(column) from data_01

相关文章

  • MongoDB 常用查询操作

    MongoDB 查询操作可实现大部分关系型数据库的常用查询操作,本文对 MongoDB 常用查询进行讲解。 在阅读...

  • TODO:MongoDB的查询更新删除总结

    TODO:MongoDB的查询更新删除总结 1. 常用查询,条件操作符查询,< 、<=、>、>=、!= 对应 Mo...

  • MongoDB学习笔记

    MongoDB常用操作 一、查询 find方法 查询所有的结果: select * from users;===d...

  • Mongodb常用查询

    1,比较运算查询 最近在用mongo,有个需求是查询每天入库的数据量,翻了翻教程,在mysql中查询是betwee...

  • mongodb find aggregate管道 常用查询

    find查询(此例基本包含了mongodb find查询所有的常用操作): aggregate管道查询(此例基本包...

  • mongdb常用语句

    一: mongodb的常用语句 查询库、查询表show dbs -查询所有的数据库show connection...

  • MongoDB快速上手

    本章我将带你一步一步上手MongoDB,你将学习到:MongoDB 基本配置过程MongoDB 最常用的查询语言j...

  • mongodb常用查询语句

    转载自:http://blog.csdn.net/qq_27093465/article/details/5170...

  • mongodb常用查询操作

    javascript操作 打印每一个查询结果 判断输出mongodb查询后的数据中是否存在某key

  • mongodb常用查询语句

    1、查询所有记录db.userInfo.find();相当于:select* from userInfo; 2、查...

网友评论

    本文标题:Mongodb常用查询

    本文链接:https://www.haomeiwen.com/subject/bumrtftx.html