博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nosql笔记2_早前的时候
阅读量:6245 次
发布时间:2019-06-22

本文共 2365 字,大约阅读时间需要 7 分钟。

<?php

    /*
     *
     *
     * nosql总结:
     * 1.shell的基本操作:
     * 创建/读取/更新和删除(CRUD)
     * insert 函数添加一个文档到集合里面!例如,假设要存储一博客文章:首先要创建一个局部变量post,内容是代表文档的Javascript对象!里面会有"title","content"和"data"(发表日期)几个键!
     * >post={"title":"My Blog Post",
     * ......"content":"Here's my blog post",
     * ......"date" :new Date()}
     * {
     *    title:"My Blog Post",
     *    "content":"Here's my blog post",
     *    "data":"日期"
     * }    
     * db.blog.insert(post)
     * 这个文章已经被存入了blog数据库了!
     * 2.查看文件.find()
     * db.blog.find()
     * {
     *    
     * }
     * 读取:find会返回集合里面所有的文档!如果只是要查看一个文档,可以使用findOne;
     * db.blog.findOne(){
     *
     * }
     * find和findOne可以接受查询文档形式的限定条件!这将通过查询限制匹配的文档!使用find时,shell自动显示最多20个匹配文档,但可以获取更多的文档!
     *
     * 更新:
     * 如果要更新博客,可以使用update的使用:
     * update接受(至少两个参数),第一个是要更新文档的限定条件,第二个是更新的文档,假设决定我们先前写的文章增加评论的内容,要加入一个新的键,对应的值就是存放评论的数组
     *
     * 第一步修改变量post,增加comments键:
     * >post.comments=[]
     * [ ]
     * 然后执行updata操作,用新版本的文档替换标题为"My Blog Post"的文章
     * db.blog.updata({title:"My Blog Post"},post)
     *
     * 删除:
     * remove 用来从数据库中永久的删除文档!在不使用参数进行调用的情况下,他会删除一个集合内的所有的文档,他可以接受一个文档以指定限定条件,
     * >db.blog.remove({title:"My Blog Post"})
     *
     *
     * 数据类型:
     * MongoDB在保留JSON基本的键/值对特性的基础上,添加了其他一些数据类型!在不同的编程语言下这些类型的表示有差异!
     * null
     * 用于表示空值或者是不存在的字段
     * 布尔型:有两个值true和false
     *
     * 32位整数
     *
     * 64位整数
     *
     * 64位浮点数
     *
     * 字符串
     *
     * 符号
     * shell不支持这种类型!
     * 对象id
     *
     * 日期类型:{"x":new Date()}
     *
     * 未定义的类型:
     * {"x":undefinded}
     *
     * 内嵌文档:文档可以包含别的文档,也可以作为值嵌入到父文档中:
     * {"x":{"foo":"bar"}}
     *
     * 数组:
     * {
     *    "name":"John Doe",
     *    "address":{
     *        "street":"123 Park Street",
     *        "city":"Anytown",
     *        "state":"NY"
     *    }
     * }
     * 合理的使用内嵌文档可以让处理数据的方式!并能"深入"其中构建索引,执行查询,或者更新!
     * 在MongoDB中可以将地址文档直接嵌入人员文档中,使用得当的话,内嵌文档会使信息表示得更加自然(通常也会高效)
     *
     * 但是这样做也有坏处,因为MongoDB会存储更多复杂的数据,这样是反规范化的,如果在关系数据库中"address"在一个i独立的表中,要修复地址中的拼写错误!当我们对"people"和"address"执行连接操作的时候,每一个使用这个地址的人的信息都会得到更新!但是在MongoDB中,则需要在每个人的文档中修正拼写错误!
     *
     * 要删除文档:
     * db.blog.remove()
     * db.mailing.list.remove({"opt-out":true})
     * 上述命令会删除users集合中的所有的文档,但不会删除集合本身,原有的索引也会保留
     * remove函数会接受一个查询文档作为可选参数,给定参数以后,只有符合条件的文档才会被删除!
     * db.mailing.list.remove({"opt-out":true})
     * 删除数据是永久性的,不能撤销,也不能恢复
     *
     *
     * 更新文档:
     * 文档存入数据库以后,就可以使用update方法来修改它!update有两个参数,一个是查询文档,用来找出要更新的文档,另一个是修改器文档,描述找到的文档做哪些更改!
     * 更新操作是原子的:如果是两个更新同时发生,先到达服务器的先执行,接着执行另外一个,所以,互相有冲突的更新可以火速传递,并不会相互干扰,最后的更新会取得"胜利"
     *
     * 使用修改器:通常文档只会有一部分要更新!利用原子的:"更新修改器",可以使得这种部分更新极为高效!更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整.增加或者删除键,还可能是操作数组或者内嵌文档!
     *
     * $set甚至可以修改键的数据类型!
     * $set修改器入门,$set用来指定一个键的值!如果这个键不存在,则创建他!这对更新模式或者增加用户定义键非常方便!甚至可以更改数据类型!
     *

转载于:https://www.cnblogs.com/sgsheg/archive/2012/09/24/2699611.html

你可能感兴趣的文章
网络工程师
查看>>
在C#下的SQL模糊查询语句 (Visual Studio)
查看>>
第三章 广域通信网
查看>>
xhtml+css基础知识2
查看>>
我的友情链接
查看>>
Java环境变量配置
查看>>
Magent搭建Memcached集群
查看>>
SQL Server远程备份报错:Operating system error 1326
查看>>
域名转移和域名DNS修改
查看>>
域名查找及错误检查
查看>>
JavaScript 字符串处理详解
查看>>
Linux 查看系统硬件信息(实例详解)
查看>>
Linux系统开发8 线程
查看>>
我的友情链接
查看>>
linux安装过程对硬盘进行分区
查看>>
linux安装eclipse集成开发环境
查看>>
像少年啦飞驰
查看>>
Advanced+Apple+Debugging(1)
查看>>
EIGRP实验 3 :EIGRP 拓扑、路由以及汇聚
查看>>
我的友情链接
查看>>