mongoDB的学习笔记(2)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 14:52 点击:

 

 

实验室从去年开始接触Nosql,不过那个时候自己不是负责这部分的所以只是介于组会的时候讨论了解。后来去实习,这个东东越来越火了。以至于俺觉得自己也要去学习一下,这些天一直看这方面的东西。最大的感觉就是它组织结构的变化带来的方便,这也是算是肤浅的感觉吧,新手一般都有这样的体验,至于网上一直叫好的速度快(据说比传统的关系型数据库快5倍左右),由于木有实战的体验,目前还木有深刻的认识。前段时间一直在做一个MIS系统,被数据库折腾的却是够呛,数据库设计的人太过考虑各种范式,以至于开发困难很多。在看看mogodb确实给人焕然一新的感觉。呵呵。目前感觉就是这么多,继续记录一下自己的学习的笔记,这部分主要是mogodb的查询操作。mogodb的查询功能确实比标准的sql强大很多,特别是各种修改器和基于js函数的$where查询。

----start----

 

Mongodb的查询操作

 

1、查询全部集合

 

db.myMongodb.post.find()

 

如果是console的话,默认显示20条记录

 

2、返回指定的键

 

db.myMongodb.post.find({}, {"foo" : 1, "baz" : 1})

 

返回键foo和健baz,同时默认返回_id键的值

 

3、指定不返回的键

 

db.myMongodb.post.find({}, {"foo" : 0})

 

返回除foo之外的其他键

 

4、判定条件查询

 

a) “$lt” 小于

 

b) “$lte”小于等于

 

c) “$gt”大于

 

d) “$gte”大于等于

 

e) “$ne”不等于

 

db.myMongodb.user.find({"age" : {"$gte" : 18, "$lte" : 30}})

 

5、其他条件查询

 

a) “$in” :是否在某一个集合的查询

 

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

 

b) “$nin”:与in相对应,不处于某个结合的文档

 

c) “$or”:多条件查询

 

db.myMongodb.user.find({"$or" : [{"age" : 17}, {"age" : 18}]})

 

d) “$not”非的情况下使用。其他条件可以基于它

 

e) “$mod”取模查询

 

f) “$null”可以匹配值为null的字段,同时也能匹配键不存在的文档

 

如果同时要判定键存在,需要加上"$exists" 判定

 

6、查询数组

 

a) “$all” 通过多个元素匹配数组

 

db.myMongodb.food.find({"fruit" : {"$all" : ["apple", "oracle"]}})

 

b) 数组下标匹配

 

db.myMongodb.food.find({"fruit.2" :  "peach"})

 

c) "$size"数组长度匹配

 

db.myMongodb.food.find("fruit" : {"$size" : 3})

 

7、"$slice"指定返回集合的个数

 

db.myMongodb.posts.find(criteria, {"$silce" : n})

 

n = 10 返回前10条记录

 

n = -10 返回后10条记录

 

n = [23, 10] 返回从23条记录开始的10条记录,感觉应该可以做分页

 

8、采用点表示法查询内嵌文档(推荐)

 

db.myMongodb.find({"name.first" : "Wang", "name.last" : "Hai"})

 

9、采用分层的方式查询

 

db.myMongodb.find({"name" : {"first" : "Wang, "last" : "Hai""}})

 

10、$where查询

 

$where查询非常强大,它可以添加js的函数实现高级的查询功能。

 

基本样式如下:

 

db.myMongodb.find({"$where" : function() {}})

 

如果function返回true,该记录就返回。否则就不返回。

 

【对js

    相关新闻>>

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Request.ServerVariables 参数大全
    • 执行全文索引时出现权限不足的解决方法
    • 导入excel文件处理流程节点的解决方案
    • 查看sql修改痕迹(SQL Change Tracking on Table)
    • App数据层设计及云存储使用指南
    • PostgreSQL启动过程中的那些事三:加载GUC参数
    • MongoDB安装为Windows服务方法与注意事项
    • Percolator与分布式事务思考(二)
    • 写给MongoDB开发者的50条建议Tip1
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1