设为首页 收藏本站
查看: 843|回复: 0

[经验分享] mongodb(一):基本操作及查、插、更新、删初步

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-9-2 09:19:33 | 显示全部楼层 |阅读模式
        1.       启动和关闭
        启动:
        [iyunv@code ~]# mongod --dbpath /data/mongodb/db/ --logpath/data/mongodb/logs/mongodb.log --fork &
        关闭
        [iyunv@code ~]# pkill mongod
        2.       Mongo客户端(命令行模式)
        [iyunv@code~]# mongo
        MongoDB shellversion: 1.6.4
        connectingto: test
        > help
         db.help()                    help on db methods
         db.mycoll.help()             help on collection methods
         rs.help()                    help on replica set methods
         help connect                 connecting to a db help
         help admin                   administrative help
         help misc                    misc things to know
          
         show dbs                     show database names
         show collections             show collections in currentdatabase
         show users                   show users in current database
         show profile                 show most recentsystem.profile entries with time >= 1ms
         use <db_name>                set current database
         db.foo.find()                list objects in collection foo
         db.foo.find( { a : 1 } )     list objects in foo where a == 1
         it                           result of the lastline evaluated; use to further iterate
         exit                         quit the mongo shell
        >
        有不知道的就.help()
        3.       概念
        由文档、集合、数据库组成;
          
        文档和oracle中表的记录类似不过能存(json之类的);
          
        集合像关系数据库中的表 等,不过这里存的东西不一定是有关系的,相当于容器,里面可以容纳不同类型文档,和集合子集;
          
        数据库和mysql一样的概念,一个mongodb中可以创建多个数据库;
          
        存储在MongoDB集合中的每个文档(document)都有一个默认的主键_id,这个主键名称是固定的,它可以是MongoDB支持的任何数据类型,默认是ObjectId;
          
        4.       创建、删除、更新文档(初步)
        > use test(如果没有则创建test数据库)
        switchedto db test
        插入:
        > db.blog.insert({"title":"My BlogPost","content":"Here's my blogpost","date":new Date()})  这里的blog是集合,当插入一些文件 MongoDB 自动创建的集合。                    
        > db.blog.findOne()
        {
         "_id" :ObjectId("53f6cf3b055af3f7b9413917"),
         "title" : "My Blog Post",
         "content" : "Here's my blogpost",
         "date" : "Fri Aug 22 201413:03:55 GMT+0800 (CST)"
        }
        >db.blog.insert({"title":"XiaoMing BlogPost","content":"XiaoMing's blog post","date":new Date()})
        查找:
        > db.blog.find()   
        {"_id" : ObjectId("53f6cf3b055af3f7b9413917"),"title" : "My Blog Post", "content" :"Here's my blog post", "date" : "Fri Aug 22 201413:03:55 GMT+0800 (CST)" }
        {"_id" : ObjectId("53f6cfac055af3f7b9413918"),"title" : "XiaoMing Blog Post", "content" :"XiaoMing's  blog post","date" : "Fri Aug 22 2014 13:05:48 GMT+0800 (CST)" }
        插入:
        > recode=db.blog.findOne({"title" : "XiaoMingBlog Post"})
        {
            "_id" :ObjectId("53f6d154055af3f7b9413919"),
            "title" : "XiaoMing BlogPost",
            "content" : "XiaoMing's  blog post",
            "date" : "Fri Aug 22 201413:12:52 GMT+0800 (CST)"
        }
        > recode.content="How do you do"
        How do you do
        > db.blog.update({"title" : "XiaoMing BlogPost"},recode)
        > db.blog.find()                                          
        {"_id" : ObjectId("53f6cf3b055af3f7b9413917"),"title" : "My Blog Post", "content" : "Here'smy blog post", "date" : "Fri Aug 22 2014 13:03:55 GMT+0800(CST)" }
        {"_id" : ObjectId("53f6d154055af3f7b9413919"),"title" : "XiaoMing Blog Post", "content" :"How do you do", "date" : "Fri Aug 22 2014 13:12:52GMT+0800 (CST)" }
        删除:
        > db.blog.remove({"title" : "XiaoMing BlogPost"})   
        > db.blog.find()                                    
        {"_id" : ObjectId("53f6cf3b055af3f7b9413917"),"title" : "My Blog Post", "content" :"Here's my blog post", "date" : "Fri Aug 22 201413:03:55 GMT+0800 (CST)" }
        要删除集合使用,db.COLLECTION_NAME drop(“集合名”)   
        要删除数据库先use 要删除的数据库名,在执行db.dropDatabase()
        5.       数据类型(参考MongoDB权威指南)
        基本数据类型
          MongoDB的文件存储格式为BSON,同JSON一样支持往其它文档对象和数组中再插入文档对象和数组,同时扩展了JSON的数据类型.与数据库打交道的那些应用。例如,JSON没有日期类型,这会使得处理本来简单的日期问题变得非常繁琐。只有一种数字类型,没法区分浮点数和整数,更不能区分32位和64位数字。也没有办法表示其他常用类型,如正则表达式或函数。下面是MongoDB的支持的数据类型
          
        null    null用于表示空值或者不存在的字段。 {"x":null}
        布尔   布尔类型有两个值'true'和'false1'.{"X":true}
        32位整数  类型不可用。JavaScript仅支持64位浮点数,所以32位整数会被自动转换。
        64位整数  不支持这个类型。shell会使用一个特殊的内嵌文档来显示64位整数,
        64位浮点数 shell中的数字都是这种类型。下面的表示都是浮点数: {"X" : 3.1415926} {"X" : 3}
        字符串   UTF-8字符串都可表示为字符串类型的数据: {"x" : "foobar"}
        符号  不支持这种类型。shell将数据库里的符号类型转换成字符串。
        对象id  对象id是文档的12字节的唯一 ID, {"X" :ObjectId() }
        日期  日期类型存储的是从标准纪元开始的毫秒数。不存储时区: {"X" : new Date()}
        正则表达式  文档中可以包含正则表达式,采用JavaScript的正则表达式语法:{"x" : /foobar/i}
        代码  文档中还可以包含JavaScript代码:{"x" : function() { /* …… */ }}
        二进制数据  二进制数据可以由任意字节的串组成。不过shell中无法使用。
        最大值  BSON包括一个特殊类型,表示可能的最大值。shell中没有这个类型。
        最小值  BSON包括一个特殊类型,表示可能的最小值。shell中没有这个类型。
        未定义  文档中也可以使用未定义类型:{"x":undefined}
        数组  值的集合或者列表可以表示成数组:{"x" : ["a", "b", "c"]}
        内嵌文档  文档可以包含别的文档,也可以作为值嵌入到父文档中,数据可以组织得更自然些,不用非得存成扁平结构的:{"x" : {"food" : "noodle"}}
          
          
        数字
          JavaScript中只有一种“数字”类型。因为MongoDB中有3种数字类型(32位整数、64位整数和64位浮点数),shell必须绕过JavaScript的限制。默认情况下,shell中的数字都被MongoDB当做是双精度数。这意味着如果你从数据库中获得的是一个32位整数,修改文档后,将文档存回数据库的时候,这个整数也被转换成了浮点数,即便保持这个整数原封不动也会这样的。所以明智的做法是尽量不要在shell下覆盖整个文档。
          
        日期
          JavaScript的Date对象用做MongoDB的日期类型,创建一个新的Date对象时,通常会调用new Data("")。
          


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-24260-1-1.html 上篇帖子: php+mongodb开发环境搭建(linux+apache+mongodb+php) 下篇帖子: mongodb(二):查、插、更新 深入
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表