Mongodb基础操作

应用场景
        MongoDB适用于高并发读写、数据量大、高可扩展性和高可用性且对事务要求不高的场景,常用的应用场景有以下:

        1. 社交应用:可以使用MongoDB来存储用户信息和朋友圈动态,实现附近的人等功能。

        2. 游戏:使用MongoDB来存储用户基础信息,以及游戏中的积分、等级以及装备等用户关联信息。

        3. 物流:使用MongoDB存储订单信息,以及物流轨迹信息。

        4. 物联网:使用MongoDB存储各设备信息,以及个设备的产生的日志信息,以便于对设备进行分析、维护和预警。

        5. 视频直播:使用MongoDB来吃存储用户信息,以及用户操作日志、点赞、收藏和评价。

  基础操作
1、创建集合
集合的创建分为隐式创建和显式创建。

显式创建:db.createCollection(name)。

隐式创建:当向一个集合插入一个文档时,如果集合不存在则会自动创建集合。

2、插入操作:
insert插入:插入单个数据。

 insertMany插入:插入多条数据。

3、查询操作:

查询操作使用find()或findOne()进行查询,其中findOne()只查询出一条数据。

find查询

比较查询 

db.user.find({age:{$lt:30}})

//等同于 select * from user where age<30; 

逻辑查询

and查询

或者缺省$and

or查询

 db.user.find({$or:[{age:{$lt:24}},{sex:1}]});

//等同于 select * from user where age<24 or sex=1

混合查询  

db.user.find({$or:

        [{sex:1},

         {$and:

                [{age:20},{sex:0}]

         }]});

//等同于 select * from user where sex=1 or(age=20 and sex=

 in 和nin 查询

db.user.find({age:{$in:[18,19,20]}})

//等同于 select * from user where age in (18,19,20)

db.user.find({age:{$nin:[18,19,20]}})

//等同于 select * from user where age not in (18,19,20)

 为空查询

db.user.find({name:{$exists:1}});

//等同于 select * from user where name is not null;

 分页查询

db.user.find().skip(2).limit(2).sort({age:1});

//等同于 select * from user order by age asc limit 2,2;

分组查询

使用聚合方法aggregate()

db.user.aggregate([{$group:{_id:"$sex",min_age:{$min:"$age"}}}]);

//等同于 select sex,min($age) from user group by sex; //获取男女中最小年龄

 db.user.aggregate([{$group:{_id:"$sex",sex_total:{$sum:1}}}]);

//等同于 select sex,count(1) from user group by sex;// 统计男女的个数

其他聚合操作

4、更新操作

db.user.update({查询条件},{更新操作},不存在时是否插入,是否多条,异常级别)。

5、删除操作
删除集合(此操作慎用)
db.user.drop();

删除文档
db.user.remove({查询条件})

四、索引
1. 创建索引
db.user.createIndex({age:1}) // 创建index_age 按升序排序

2. 查看索引
db.user.getIndexes()

3. 查看索引大小
db.user.totalIndexSize()

4. 删除索引
db.user.dropIndex(索引名);

db.user.dropIndexes();//删除集合所有索引
 

总结:

        本文主要介绍了MongoDB的常用的基础操作,操作方式主要使用的是json类型的条件语句,对json编写的要求较高,其操作和MySQL的操作基本相同,除了MongoDB没有join查询以外其他查询都支持,后续会给大家分享MongoDB的安装和主从复制等内容。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值