11 2015 档案

摘要:我们有这样的数据 { "_id" : 1, title: "abcdef", isbn: "6969696969", author: { last: "codingwhy", first: "com" }, copies: 5 } 现在使用project... 阅读全文
posted @ 2015-11-27 09:58 NRapid&JRapid 阅读(329) 评论(0) 推荐(0)
摘要:现在有一种查询变得越来越流行(尤其是移动设备):找到离当前位置最近的N个场所。 MongoDB专为平面坐标查询做了专门的索引,称为地理空间索引。 同样需要用ensureIndex创建,不过,参数是两个 "2d" db.map.ensureIndex({"gps":"2d"}) gps键的值必... 阅读全文
posted @ 2015-11-26 19:02 NRapid&JRapid 阅读(248) 评论(0) 推荐(0)
摘要:只要满足索引的其中之一不同即可 db.blog.ensureIndex({"username":1,"blogname":1}) 作者和作品名其中之一不同即可创建复合唯一索引。 explain() hint() explain()可以返回查询使用的索引情况hint()可以强制cursor... 阅读全文
posted @ 2015-11-26 19:01 NRapid&JRapid 阅读(516) 评论(0) 推荐(0)
摘要:索引的名字 集合中每个索引都有一个字符串类型的名字,来唯一标识索引。 服务器通过名字来操作或者删除索引。 要注意的是,索引名有字符个数限制,所以索引创建时一定要用自定义的名字,如 db.user.ensureIndex({"username":1,.......,"date":1},{"nam... 阅读全文
posted @ 2015-11-26 19:01 NRapid&JRapid 阅读(160) 评论(0) 推荐(0)
摘要:MongoDB中的索引,可以看作是书的目录。 想象一下给你一本没有目录的书,然后让你去查询指定内容,我只想说,我不是电脑,我很蛋疼! 让你翻没有目录的书,就跟让电脑查询没有索引的集合一样,从头查询到尾,毫无头绪,我们称这种行为是“表扫描” 索引简介 通常我们要查询一个user的名字,我们是这样... 阅读全文
posted @ 2015-11-25 09:06 NRapid&JRapid 阅读(169) 评论(0) 推荐(0)
摘要:MongoDB的文档必须有一个_id键。 目的是为了确认在集合里的每个文档都能被唯一标识。 ObjectId 是 _id 的默认类型。 ObjectId 采用12字节的存储空间,每个字节两位16进制数字,是一个24位的字符串。 12位生成规则: [0,1,2,3] [4,5,6] [7,8] [... 阅读全文
posted @ 2015-11-20 08:49 NRapid&JRapid 阅读(349) 评论(0) 推荐(0)
摘要:数据库使用游标来控制find的执行结果。 客户端对游标的实现通常能够对最终结果进行有效控制。 可以限制结果的数量,略过部分结果,对任意方向任意键的组合对结果进行排序,或者去执行一些功能强大的操作。 我们来看一例 var cursor = db.foo.find().sort({"x":1}).l... 阅读全文
posted @ 2015-11-20 08:45 NRapid&JRapid 阅读(270) 评论(0) 推荐(0)
摘要:size可以获得指定数组长度的文档 db.user.find({"fruit":{"$size":3}},{"_id":0}){ "fruit" : [ "apple", "banana", "cherry" ] }{ "fruit" : [ "apple", "banana", "pear" ... 阅读全文
posted @ 2015-11-18 18:45 NRapid&JRapid 阅读(500) 评论(0) 推荐(0)
摘要:利用all来查询所以满足的匹配项,已知数据库有这些数据 db.user.find({},{"_id":0}){ "fruit" : [ "apple", "banana", "cherry" ] }{ "fruit" : [ "apple", "banana", "pear" ] }{ "fr... 阅读全文
posted @ 2015-11-18 18:44 NRapid&JRapid 阅读(264) 评论(0) 推荐(0)
摘要:not 是元条件句,可以用于任何条件之上,意为取反 阅读全文
posted @ 2015-11-18 18:42 NRapid&JRapid 阅读(318) 评论(0) 推荐(0)
摘要:我们再添加一个游泳的人,并用$in查询游泳的人 db.user.find({"hobby":{"$in":["swimming"]}},{"_id":0}){ "hobby" : "swimming", "gender" : "female" }{ "hobby" : "swimming", ... 阅读全文
posted @ 2015-11-18 18:41 NRapid&JRapid 阅读(431) 评论(0) 推荐(0)
摘要:$in可以查询一个键的多个值 举例,每个人有爱好,假定为一个,数据太多,咱们用第二个参数来过滤一下 db.user.find({},{"_id":0}){ "hobby" : "swimming", "gender" : "female" }{ "hobby" : "dancing", "ge... 阅读全文
posted @ 2015-11-18 18:39 NRapid&JRapid 阅读(1287) 评论(0) 推荐(0)
摘要:生成发票的关键sql语句 SELECT v1.FInterID,u1.FEntryID,v1.FHookStatus FROM ICStockBill v1 INNER JOIN ICStockBillEntry u1 ON v1.FInterID=u1.FInterID WHERE 1=1 ... 阅读全文
posted @ 2015-11-18 14:55 NRapid&JRapid 阅读(961) 评论(0) 推荐(0)
摘要:$ne表示不相等 db.user.find({"name":{"$ne":"william"}}) 阅读全文
posted @ 2015-11-17 16:28 NRapid&JRapid 阅读(378) 评论(0) 推荐(0)
摘要:$lt $lte $gt $gte 以上四个分别表示为: 、 >= 。 通常的做法是将他们组合起来,以便查找一个范围。 比如,查询年龄在18到25岁(含)的人,我们可以这样 db.user.find({"age":{"$gte":18,"$lte":25}}) 这样的范围查询对查询日期特别有... 阅读全文
posted @ 2015-11-17 16:26 NRapid&JRapid 阅读(154) 评论(0) 推荐(0)
摘要:第一个参数 MongoDB使用find来进行查询,查询呢,就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合。 find的第一个参数决定了要返回那些文档,其形式也就一个文档,说明了要执行的查询细节。 通常呢,大家看到的find查询基本都长这个样子 db.user.find({}) d... 阅读全文
posted @ 2015-11-17 16:23 NRapid&JRapid 阅读(518) 评论(0) 推荐(0)
摘要:当一次更新一个文档无法满足我们的脚步时,我们可以选择一次更新多个文档,及在update的第四个参数的位置添上true,及做多文档更新,建议就算不做多文档更新也显式的在第四个参数上置false,这样明确易懂,也可以在默认参数变化时从容应对。 运行getLastError命令可以帮助我们获取反馈信息... 阅读全文
posted @ 2015-11-17 16:20 NRapid&JRapid 阅读(238) 评论(0) 推荐(0)
摘要:save是一个shell函数,调用它,可以在文档不存在时插入,存在时更新,它只有一个参数:文档。如果文档有 _id 这个 键,那么save会调用upsert,否则会调用insert,非常方便。 阅读全文
posted @ 2015-11-17 16:19 NRapid&JRapid 阅读(177) 评论(0) 推荐(0)
摘要:upsert是一个选项,它是update的第三个参数,并不是一个方法。它是一种特殊的更新,要是没有文档符合匹配,那么它就会根据条件和更新文档为基础,创建新的文档,如有匹配,则正常更新。咱们之前见到的所有update操作,都是建立在有文档的基础之上的。upsert非常方便,不必预制集合,同一套代码... 阅读全文
posted @ 2015-11-17 16:17 NRapid&JRapid 阅读(249) 评论(0) 推荐(0)
摘要:如果要操作数组中的值,可以用值在数组中的位置当做参数来删除 db.user.update({"name":"codingwhy.com"},{"$set":{"hobby.0":"crying"}}){ "_id" : ObjectId("55082691591555a6c35dd698"), ... 阅读全文
posted @ 2015-11-16 19:13 NRapid&JRapid 阅读(222) 评论(0) 推荐(0)
摘要:它可以删除所匹配的值,如果[1,1,2,1] 执行pull 1 后,只剩下[2] 阅读全文
posted @ 2015-11-16 19:10 NRapid&JRapid 阅读(502) 评论(0) 推荐(0)
摘要:如果将数组看做队列,可以用$pop方法删除第一个或者最后一个元素 {$pop:{"key":-1}},{$pop:{"key":1}} 阅读全文
posted @ 2015-11-16 19:10 NRapid&JRapid 阅读(221) 评论(0) 推荐(0)
摘要:用$addToSet更新可以避免重复,将它与$each组合起来,可以一次性添加多条(就算后添加的值已存在也没有关系) db.user.update({"name":"codingwhy.com"},{"$addToSet":{"hobby":{"$each":["singing","eating... 阅读全文
posted @ 2015-11-16 19:07 NRapid&JRapid 阅读(758) 评论(0) 推荐(0)
摘要:数组修改器,既然名字都这样叫了,那么这个修改器就只能对数组进行操作啦。 db.user.update({"name":"qianjiahao"},{"$push":{"hobby":"sleeping"}}){ "_id" : ObjectId("55082691591555a6c35dd698... 阅读全文
posted @ 2015-11-16 19:07 NRapid&JRapid 阅读(328) 评论(0) 推荐(0)
摘要:用$set指定一个键的值,如果不存在,就创建它。这对更新模式或者增加用户定义很有帮助。 db.user.insert({"name":"codingwhy.com"}) 此用户现在只有姓名信息,现在需要给他添加email db.user.update({"name":"codingwhy.co... 阅读全文
posted @ 2015-11-16 11:25 NRapid&JRapid 阅读(531) 评论(0) 推荐(0)
摘要:update方法很强大,它有两个参数,一是查询文档,用来找出需要更新的文档,另一个是修改器(modifier)文档,描述对找到的文档做哪些修改。 亮点 更新操作是原子的,若两个更新同时发生,先到达服务器的现执行,接着执行另一个。所以,互相冲突的更新可以火速传递,并不会互相干扰,虽然这是一个拼速度... 阅读全文
posted @ 2015-11-16 11:19 NRapid&JRapid 阅读(604) 评论(0) 推荐(0)
摘要:连接MongoDB(bin目录下) ./mongo如果觉得shell里空空的可以输入help,在刷屏的同时大致了解下有哪些方法 help现在咱们还没有数据库,咱们创建一个,任性起名:template use template咱们确认下,数据库有没有创建成功 show dbstemplate 0.... 阅读全文
posted @ 2015-11-16 08:36 NRapid&JRapid 阅读(180) 评论(0) 推荐(0)
摘要:下载MongoDB 第一步:登上MongoDB官网,找到自己的适合的版本下载 第二步:解压(免安装),改名mongodb(举例命名,可以任个人喜好),放在你喜欢的位置(任喜好) 第三步:通过命令行: cd mongodb(进入mongodb目录)cd bin(进入bin目录)./mongod(运... 阅读全文
posted @ 2015-11-14 17:28 NRapid&JRapid 阅读(163) 评论(0) 推荐(0)
摘要:我们为什么要去学习MongoDB MongoDB是一种强大、灵活、可扩展的数据存储方式。 丰富的数据模型 MongoDB是面向文档的数据库,不是关系型数据库。它将原来‘行’(row)的概念换成了更加灵活的‘文档’(document)模型。面向文档的方式可以将文档和数组内嵌进来,所以用一条记录就可... 阅读全文
posted @ 2015-11-14 17:24 NRapid&JRapid 阅读(98) 评论(0) 推荐(0)
摘要:区别 this super 访问属性 this.属性名。只能访问当前对象所拥有的属性(包括继承来的属性,如果继承的属性名和子类对象相同,若不指定则调用子类的,调用父类的需要显示指定:super.属性名) super.属性名。可以访问父类非私有的属性 访问方法 与访问属性类似 与... 阅读全文
posted @ 2015-11-14 17:18 NRapid&JRapid 阅读(138) 评论(0) 推荐(0)
摘要:区别 重写 重载 关键词 override overload 概念 子类重写父类的方法 一个方法的多种展现形式 环境 子类和父类 一个类中 方法名 相同 相同 参数列表 相同 必须不同 返回值 相同 没有要求 访问权限 子类不能比父类更加严格 没有要求 ... 阅读全文
posted @ 2015-11-14 17:17 NRapid&JRapid 阅读(128) 评论(0) 推荐(0)
摘要:区别 抽象类 接口 关键字 abstract class interface 概念 不能实例化的类,可能包含抽象方法 抽象方法和静态常量的集合 组成 抽象方法、普通方法、静态方法、变量、常量、静态变量、构造方法 抽象方法、静态常量 子类 子类继承抽象类 实现类实现接口 ... 阅读全文
posted @ 2015-11-14 17:16 NRapid&JRapid 阅读(143) 评论(0) 推荐(0)
摘要:下载urlwrite包 将urlrewrite-***.jar复制到web应用lib文件夹下 web.xml中配置URL Rewrite: 例: UrlRewriteFilterorg.tuckey.web.filters.urlrewrite.UrlRewriteFilterUrlRewrit... 阅读全文
posted @ 2015-11-13 16:43 NRapid&JRapid 阅读(229) 评论(0) 推荐(0)
摘要:创建Filter步骤: 创建Filter处理类 必须实现javax.servlet.Filter,该接口有init()完成filter初始化,destroy()完成资源回收,doFilter()过滤 web.xml文件中配置Filter 通过Annotation进行配置 @WebFilter修饰... 阅读全文
posted @ 2015-11-13 16:40 NRapid&JRapid 阅读(291) 评论(0) 推荐(0)
摘要:Filter可认为是Servlet的一种"加强版" 使用Filter完整流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理,最后Filter再对服务器响应进行后处理 Filter有如下用处: 在HttpServletRequest到达Servlet之前,拦截客户的Ht... 阅读全文
posted @ 2015-11-13 16:38 NRapid&JRapid 阅读(228) 评论(0) 推荐(0)
摘要:全角转半角、半角转全角代码 /** * * 提供对字符串的全角->半角,半角->全角转换 * codingwhy.com * */public class BCConvert { /** * ASCII表中可见字符从!开始,偏移位值为33(Decimal) */ static final... 阅读全文
posted @ 2015-11-12 13:15 NRapid&JRapid 阅读(673) 评论(0) 推荐(0)