mongodb简单查询
来源:互联网 发布:雷电抢购软件 编辑:程序博客网 时间:2024/05/18 03:37
最近一段时间比较闲,老大做代码整合,我得以有足够的时间来学习。因为语言学多了,慢慢也觉得没有什么意思了。其他组用mongodb,我也跟下潮流,学习了一点。鉴于我这种快速上手的,因为基础不怎么牢靠,也总是会忘记。看着《mongodb权威指南》,虽然是英文版的,但是没有一点阅读的难度,大概是这本书写得确实是让人好理解吧。平时看一些英文的资料,坚持一个小时就不错了,犯困,看这个,不会困,只是会有些命令不能马上理解。先说下查询吧。我觉得我对于数据库的了解只是限于增删改查这些操作,至于更深入的东西,不管是对于哪种数据库都没有深入接触过。毕竟不是DBA嘛,我们只要知道怎样用自己熟悉的语言调用数据库就好了。
关于mongodb的一些介绍,我也不再累赘了,网上多得是,据说是非关系型数据库,好多时候感觉不像是数据库,更接近某些函数,当然mongodb确实封装了很多函数了。
1.find
content是一个collection,相当于关系型数据库中的表,db是固定不变的。如果find中没有带参数,就相当于
select * from table
返回数据表中的所有记录的所有字段。
可以查询符合某些条件的记录(document)。
查询gender字段是male的document,相当于select * from table where gender=male
当然查询条件可以是多个
很简单的语句,我就不做太多解释了,大家都懂得啊。
所有字段都返回,把人看得眼花缭乱的,要是能选择关注的字段就好了。那是当然了。
其中_id是插入数据之后,数据库自动给加上的,相当于主键。一定要看清楚了,find所带的参数,除条件之外,还有一个{},将字段的值设置为1表明是要将这个字段显示出来。_id虽然没有显式输出,也会输出。当然,还可以 指定不要输出的字段,
将_id设置为0,表明明确声明不显示这个字段,所以就只显示我们强烈要求要输出的字段喽!
2.使用>,>=,<,<=,!=分别对应gt,gte,lt,lte,ne
例如查找age在10到25之间的document
查找degree不是bachelor的document
关于or,有两种实现方法,当然,这两种方法对应不同的场景。
使用in,判断某个字段是否属于集合中的一员,
例如查看age是11或者15或者22或者是25的document
使用nin查找不在一个范围之内的
当然,使用in来判断时候是有局限性的,只能判断一个字段。如果是需要匹配两个字段,in就不能满足要求了,那就需要or关键字了。
mod是求余运算,跟在其他课程中学习的并没有什么两样。第一个参数是除数,第二个参数是余数。
3.具体类型查询
这是content种的各个document,下面要对这个collection进行查询
null大家应该很熟悉,就是空。在content中有一个document的post字段是null。如果想查找这个document,
如上查询结果,除了post确实为null的document之外,没有post地段的也都输出了,这个肯定是不符合要求的,这时候exists关键字出现了。
mongodb中支持正则表达式,
比如查找name是lunar或者是Lunar的document
flags(i)是可有可无的,有则表明忽略大小写
我们可以查找包含某些字符串的,与常见的正则表达式没有什么不同。
查找数组
先看collection的结构
如果你想查找的字符串要匹配不只一个字段,可以使用$all来实现。
数组的匹配通常来说都是精确匹配的,这样一来,如果数组中内容的顺序不同,会导致不正确的查找结果。
索引是 从零开始的,上述语句指名要查询的数组的第二个元素是apple.
4嵌套结构的查找
使用的collections
如果想查找叫xin lau的document,则下列语句是对的
但是我们突然想给这个document增加一个middle字段,那么上面的查询语句就立马失效了。因为mongodb中都是精确匹配每个字段的,那怎么办呢?明确指定字段
上述是总结的一点点新的,觉得mongodb好像也不难,只是现在还是不熟悉它的一些奇妙的地方,觉得不像是一种数据库,更像是一种函数功能很强大的工具。不过,后续可能还会继续关注
- mongodb简单查询
- php简单查询mongoDB
- MongoDB查询简单语法
- mongodb简单查询操作
- mongoDB简单的查询语句
- 关于mongodb 的安装、配置、简单查询
- MongoDB入库、更新、查询效率简单测试
- Step into MongoDB - 04 - 简单查询
- mongodb简单的数据插入和查询
- MongoDB简单查询与复杂查询性能对比
- mongodb查询
- mongodb 查询
- mongodb查询
- MongoDB查询
- mongodb查询
- mongodb查询
- mongodb查询
- MongoDB -- 查询
- 黑马程序员 JAVA__高新技术--泛型总结
- AUTOSAR
- UVA 11538 Chess Queen
- 【图文并茂】人人都会修改APK,美化,汉化,去广告
- VC 设置系统时间
- mongodb简单查询
- 百度地图离线API及地图数据下载工具-尝鲜篇
- Xcode运行时错误:Could not launch "*.app"--No such file or directory(Users/*/Library/...)
- C++和C的源码混合使用需要了解的事
- STM32 定时器
- NSFetchedResultsController和UITableView显示CoreData的数据时用relationship分组的方 ...
- STM32 ADC
- 把类的析构函数写成虚函数的用意
- iphone--使将对象加入NSMutableArray中 引用计数不加1