Mongdb查询语法(Robomongo可视化工具)

本文对比了Mysql和Mongodb的查询语法,包括全表查询、带条件查询、展示特定字段、条件组合查询(AND、OR)、范围查询、列表查询、空值查询、模糊查询、去重查询、计数查询、聚合查询等,帮助读者理解和掌握两种数据库的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大部分业务使用Mysql,此次业务需求用到Mongdb,将Mysql与Mongdb的语法对比起来掌握查询语法

一、查询

1、查询全表

Mysql:select * from table_name;

Mongdb:db.collection_name.find();

2、带条件查询

Mysql:select * from table_name where column_name="value";

Mongdb:db.collection_name.find({'column_name':'value'});

3、带条件查询,展示需要的字段

Mysql:select column1_name,column2_name from table_name where column_name="value";

Mongdb:db.collection_name.find({'column_name':'value'},{'column1_name':1,'column2_name':1);【第一个{} 放where条件 第二个{} 指定那些列显示和不显示 (0表示不显示 1表示显示)】

3.1、带条件查询-----等于

Mysql:select * from table_name where column_name="value";

Mongdb:db.collection_name.find({'column_name':'value'});

3.2、带条件查询-----and 

Mysql:select * from table_name where column1_name="value" and column2_name="value" ;

Mongdb:db.collection_name.find({'column_name':'value','column_name':'value'});

3.3、带条件查询----------or 

Mysql:select * from table_name where column1_name="value" or column2_name="value" ;

Mongdb:db.collection_name.find({'$or:[{'column1_name':'value'},{'column2_name':'value'}]'});

3.4、带条件查询-----<, <=, >, >= ($lt, $lte, $gt, $gte ) 

Mysql:select * from table_name where column_name>value and column_name<value

Mongdb:db.collection_name.find({'column_name':{'$gt':value,'$lt':value}});

3.5、带条件查询-----in, not in ($in, $nin) 

Mysql:select * from table_name where column_name IN("value1","value2");

Mongdb:db.collection_name.find({'column_name ':{'$in:[value1,value2]'}});

3.6、带条件查询-----匹配null 

Mysql:select * from table_name where column_name is NULL;

Mongdb:db.collection_name.find({'column_name ':null});

3.7、带条件查询-----like (mongoDB 支持正则表达式) 

Mysql:select * from table_name where column_name like '%value%';

             select * from table_name where column_name like 'value%';

             select * from table_name where column_name like '%value';

Mongdb:db.collection_name.find({'column_name':/value/}); 

                db.collection_name.find({'column_name':/^value/}); 

                db.collection_name.find({'column_name':/value$/});

3.8、带条件查询-----distinct 

Mysql:select distinct  column_name from table_name;

Mongdb:db.collection_name.distinct('column_name');

3.8、带条件查询-----count

Mysql:select count(*) from table_name;

Mongdb:db.collection_name.count();

db.collection_name.count({'column1_name':'column1_value','column2_name':'column2_value'});

3.8、聚合函数-----group

Mysql: select column_name, count(*) from table_name  group by column_name;

Mongdb:db.collection_name.aggregate([{$group : {_id : "$column1_name", num_tutorial : {$sum : 1}}}])

3.9、不等于-----$ne

Mysql: SELECT * FROM table_name  where column_name != "column_value";

Mongdb:db.collection_name.find({"column_name":{$ne:"column_value"}});

4.0、 聚合函数-----aggregate

db.getCollection("collection_name").aggregate([
    { $group: { _id : '$column_name', count: { $sum : 1 } } },
    { $match: { count: { $gt : 1} } }
])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值