MongoDB完美版教学说明.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MongoDB 在win上! 安装: 解压,拷贝到指定目录 建立数据目录及日志目录 启动服务器: 启动客户端: 条件语法 关系运算符$lt,$gt,$nt,$lte,$gte,$eq 更新,查询,修改,都需要使用条件作为参数 条件表达式,关系运算除了相等之外,如果需要其他的关系运算则需要使用下面的语法: {“field“:{“$eq”: “杨过”}} $eq, 关系运算符,(关系运算指令)。还有: $lt,小于 $lte,小于等于 $gt,大于, $gte,大于等于 $nt,不等于 范围条件:$in, $nin db.student.find( {php: {$nin:[66, 82, 89]}}, {_id: false} ) 取模运算条件:$mod db.student.find( {mongodb: {$mod: [10, 0]}}, {_id: false} ); 逻辑运算:$not,$and, $or $and: 如果使用$and逻辑运算完成以上的逻辑关系,结果如下: $or(tip) $not Null查询 注意,mongodb在处理null时,如果某个文档,没有该属性(字段)也会被匹配上。 如果判断属性是否存在则需要使用下的语法: $exists 语法总结: 条件为json语法 每个属性就是一个条件。 常规的:属性名为字段,而属性值为条件表达式的json写法。 是否的运算,在指令后使用true|false 值比较运算:在指令后使用数据即可 如果一个执行涉及到多个运算数,则使用数组进行表示。 数组型:$all,$size 查询其中的某个元素:直接使用标量的相等即可 查询针对多个元素:使用$all指令进行查询 如果不使用$all而直接使用数组值匹配,则只能找到与之完全一致的元素。 对数组元素个数进行查询 对象型,内嵌文档(内联文档) 直接使用.访问对象的属性即可: 更新修改器 在更新时,可以针对于某个属性进行更新。默认的行为是,将当前文档全部替换掉! 以上就是典型的非关系数据的更新。一个文档一个json就是一个基本的数据单位。 如果采用关系型的思维,应该可以修改某个文档的属性才可以。(mongodb是介于关系和非关系之间的体现) 需要通过利用 更新修改器完成: 还存在: $unset: 删除某个属性 递增:$inc 数组内容修改器:$push,$addToSet,$pushAll $push,不论数组中是否存在该元素,都会添加成功 $addToSet,当集合中不存在该元素时,才会添加。 $pushAll,支持一次性插入多个元素 移除数组元素: Pop,移除末端元素,和push相对,是一组栈 指定元素进行移除$pull,$pullAll UPSert Update+insert,操作也是。先执行更新操作,如果更新条件没有匹配上任何文档,则执行插入操作。 Update()的第三个参数表示,是否执行UpSert工作,默认为false。 更新多条 默认的update,仅仅会更新匹配条件的第一条记录。除非使用第四个参数: 使用true表示多条同时更新: 查询 Find().Count() Find.sort() 1 升序asc -1 降序desc Find.skip() Find.limit() PHP程序操作Mongodb PHP程序作为MongoDB的客户端出现! 加载mongo.dll扩展即可: 找到对应的dll: Php.ini: Apacherestart 使用该扩展提供的类(方法)完成对mongo的操作: (mongodb无状态) 提供的OOP语法:(可以在PHP的官方手册中找到其内容) 共涉及4个类: 最常用的就是mongoCollection: 查询为例,展示php操作mongo: 先通过Mongo类,完成连接mongod服务器。 再通过其 数据库属性-集合属性,定位某个集合 再完成该集合的操作。(无状态) Mongo客户端使用的数据结构,都是json对象,如果在PHP代码中,转换成相应的数组即可: 支持索引 支持三种类型索引: 普通索引,唯一索引,空间索引。 空间索引:可以利用X,Y一组坐标做快速检索! 如果需要对属性 gis做空间位置查询,则可以创建空间索引: 创建所以的语法如下: Db.集合.ensureIndex(索引字段及类型,索引的选项) 一旦建立好了空间索引,就可以使用空间索引提供的特殊操作,完成位置的检索了: 计算距离: 计算距离某个点最进的点 $near指令 计算某个范围内的坐标(支持矩形,圆形,多边形): $within 取决于不同的范围图形。 分片存储数据 复制,读写分离,负载均衡(amoeba for mongodb) 认证 Why mongodb?why mysql? M

文档评论(0)

潮起潮落 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档