mongodb 查询 mysql_MongoDB 基本查询使用
刚才前面发了Windows下安装使用MongoDB数据库,觉得就这样多吊人胃口啊,所以就顺便把一些基本的查询方法写出来,供大家参考学习,如果写的有不对的地方还请多多批评。
我想看过前面写的"Windows下MongoDB的安装使用"的文章的应该知道怎么打开数据库了!现在我们就从这里接着讲!还有一点就是我的版本目前是2.0.4的哦!但是我看过很多方法在各个版本上还是通用的!
补充下哈:在开始之前我要强调一个重点!文档就是一条数据意思,集合就是表的意思,默认监听端口是27017,mongodb是使用javascript交互的,不错你没有看错,就是javascript(前面有提到哦),这些在后面慢慢的深入中会发现如果会了javascript学习mongodb是多么上手的一件事!下面开始:
使用之前别忘记先启动服务
1.show dbs
这个可以显示当前的实例下所有数据库的列表!不同的版本有不同的案例数据库!2.0.4的是local,并且是一个空的数据库!
2.use myFirst
myFirst是我创建的!如果你不创建的话,那么这句就可以隐式的帮你创建myFirst数据库,use myFirst也就是使用这个数据库的意思!现在应该没有数据库,那么我们就插入数据进行学习测试。
3.db.test1.save({"name":"qlier", age:21, "sex":"male"});
test1这个表也会隐式的被创建,并且插入一条文档 ,文档有name,age,sex。下面我们在用另外一种方法插入一条数据。
4.db.test1.insert({"name":"tom", age:19, "sex":"male"});
在test1中插入数据,可能你会问insert和save有什么不同,他们还真的有点不同!
insert仅仅是插入文档到集合中,如果记录不存在则插入,如果记录存在则忽略
save是在文档不存在时插入,存在时则是更新
5.db.test1.find();
这个可以查询test1集合中所有的数据。所有的文档都有_Id这一列,这个是主键,是系统生成唯一的主键,不过我们也可以自己来操作,怎么操作就自己动动脑子了,不过自己操作的时候可千万不能有重复的值,要不会有异常。
6.db.test1.findOne();
这个查询test1集合中最上面一条数据并显示。
7.db.test1.find({name:"qlier"});
查询name是qlier的文档。
8.db.test1.update({name:"tom"}, {$set:{name:"Jim"}});
修改名称tom为Jim,这个是修改的方法。
9.db.test1.remove({name:"Jim"});
这个是删除name为Jim!
这些都是最最基本的增删改查了,下面将重点讲解查询!表test2是在我电脑上创建过的,就name, age, sex,和test1一样。
10.条件操作符、>=
db.test2.find({age:{$gt:20}});
查询年龄大于12岁的用户,如此的还有$lt小于、$gte大于等于、$lte小于等于。
11.$all匹配所有
db.test2.find({age:{$all:[8]}});
他会匹配所有age等于8的文档。
12.$exists判断字段是否存在
db.test2.find({age:{$exists:true}});
查询所有存在age字段的文档。false表示不存在。
13.$mod取模运算
db.test2.find({age:{$mod:[10, 1]}});
查询所有age模10等于1的文档。
14$ne不等于
db.test2.find({age: {$ne : 20}});
查询所有年龄不等于20的用户文档。
15.$in包含
db.test2.find({age : { $in : [20, 21, 22]}});
查询所有年龄等于20、21、22的用户文档。
16$nin不包含
db.test2.find({age : {$nin : [20, 21, 22]}});
查询所有年龄不等于20、21、22的用户文档。
17.count查询记录条数
db.test2.find().count();
返回test2集合中文档记录的数目。
18.limit限制显示的条数
db.test2.find().limit(5);
返回test2中上面的5条记录。
19.skip限制返回记录的起点
db.test2.find().skip(3);
返回test2中上面数第三条数据一下的所有数据
20.分页的实现
db.test2.find().skip(1).limit(5);
返回从第二条数据开始,显示5条数据,这个可以用作分页,很简单就实现了!
21.sort排序
db.test2.find().sort({age:1});
所有的数据按年龄大小升序(asc)排列,既然1表示asc排列,那么-1就表示desc排列,这是真的。
22.distinct去掉重复值
db.test2.find().distinct("name");
按name的重复值筛选数据。
今天就写到这里,这些都是很常用的基本的查询操作,至于是否有更复杂的查询呢,肯定是有了,包括group查询、联合查询、正则表达式查询、null值的处理等!只不过这些在后面都会有提到的。
同学们看到这里应该可以在我们非常喜欢的Node.js中试一试了,体验Mongodb带给我们的更多惊喜。
后面还会继续讲怎么自动启动服务、日志记录、存储过程等等。供大家一起参考学习,如果写的不对的地方还请多多指出批评哦。
来源:CIT.CN
mongodb 查询 mysql_MongoDB 基本查询使用相关推荐
- MongoDB干货篇之查询数据
在开始之前我们应该先准备数据方便演示,这里我插入的了几条数据,数据如下: db.user.insertMany( [{ name:'jack', age:22, sex:'Man', tags:['p ...
- python数据库模糊查询_Python操作mongodb数据库进行模糊查询操作示例
本文实例讲述了Python操作mongodb数据库进行模糊查询操作.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pymongo import re ...
- NoSQLBooster for MongoDB 中跨库关联查询
使用 MongoDB 是我们常常会遇到一些特殊的需求需要跨库关联查询,比如订单明细缺商品重量需要补商品重量,而商品重量数据又在商品库中,这事就需要跨库关联操作,示例代码如下: // 使用 orde ...
- java mongodb 模糊查询_Java操作MongoDB插入数据进行模糊查询与in查询功能的方法
Java操作MongoDB插入数据进行模糊查询与in查询功能 由于需要用MongoDB缓存数据,所以自己写了一套公共的存放和读取方法 具体如下: 存放mongodb: /** * 公共方法:设置Obj ...
- MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)
查询接口 对于查询操作,MongoDB 提供了 db.collection.find() 方法.这个方法接收查询条件和映射两个条件并且返回一个指向匹配文档的 游标 .你可以使用 limits, ski ...
- MongoDB 教程三: 高级查询
视频:MongoDB 教程三: 高级查询 MongoDB支持的查询语言非常强大,语法规则类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,并且由于 MongoDB可以支持复杂的数 ...
- MongoDB 添加、查询(条件查询、排序、分页、返回指定字段)、修改、删除数据、聚合aggregate
MongoDB内部支持JavaScript语法,使用SpiderMonkey作为内部的JavaScript解释器引擎. 1.常用命令 show databases:显示数据库列表 use:切换数据库 ...
- 总结MongoDB采用MongoRepository进行查询
Java操作MongoDB采用MongoRepository进行条件查询 1) 实体类实现Serializable接口 @Document(collection = "Memo" ...
- java mongodb 多表关联查询,多条件查询,分页,排序
前言: 由于最近项目赶,版本迭代快,不知道大BOSS从哪里听别人说MongoDB用来做关系型数据库好,而且速度快,性能高:听到这话的我,立马就反驳了回去:"MongoDB不支持事物" ...
最新文章
- 库克喜提 8 亿年终奖,2020 年整体薪酬增长 28%
- shell下输出字体颜色
- php中单引号与双引号的区别
- mysql 连接查询_Swoole 实战:MySQL 查询器的实现(协程连接池)
- 《SAP 传奇人物》系列人物故事:看透生死远没有操作0和1那么简单
- JS中函数和变量声明的提升
- Spring Cloud Alibaba发布第二个版本,Spring 发来贺电 1
- JavaScript 与java中数组的区别
- 12.allegro环境设置[原创]
- 桌面没有计算机图标6,我的电脑图标没了怎么办
- 关于random的多种用法
- Chrome插件-JSONView
- 远程桌面无法复制粘贴传输文件解决办法
- 计算机cpu近几年价格,CPU性能过剩的福利 十年老电脑还能再战几年?
- python爬取知乎热门话题及其回答(requests中session保持cookies的应用)
- 路由器、交换机的基本配置
- 亚历山大对马其顿士兵的演说(经典演说
- SSM SpringBoot vue办公自动化计划管理系统
- Workfine5.0扩展功能——如何识别身份证信息?
- 【2021】13 年终总结