文档章节

MongoDB安装

lilugirl
 lilugirl
发布于 2017/08/16 16:14
字数 657
阅读 56
收藏 0

在MAC OS上安装

  • 使用二进制文件安装
    curl -O http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.4.tgz

    解压缩文件

    tar -zxvf mongodb-osx-x86_64-2.6.4.tgz

    修改文件夹名称 为mongodb

    mv mongodb-osx-x86_64-2.6.4 mongodb

    mongodb的数据文件存储默认文件夹为 /data/db
    为其创建文件夹

    mkdir -p /data/db

    给/data/db目录赋予权限 ,其中liuyi是我电脑的用户名称,你可以该为你自己的

    chown -R liuyi /data/db

    进入到刚才下载的mongodb bin目录 启动mongod服务
     

    cd mongodb/bin
    mongod

    如果你之前安装过mongodb 再次做这个操作应该会有报错信息,只要在百度上搜索相关解决方案解决即可。可能遭遇的问题有两个:
     1 之前启动过mongod ,只要功过命令 ps aux | grep mongod查到进程id 然后用命令 kill -9 进程id  杀死此进程。 
    2 Failed to obtain address information for hostname bogon ,只要修改/etc/hosts文件 增加一条127.0.0.1 bogon 即可。

    启动成功以后 mongodb会默认占用27017端口 ,可以打开浏览器 http://127.0.0.1:27017 看看

  • 使用命令行工具
    进入到bin目录 输入mongo命令看看

    cd mongodb/bin
    mongo

    MongoDB默认使用test数据库链接本地服务实例

    输入如下命令 创建一个名为article的集合,插入一个包含title属性的json对象

    db.articles.insert({title:"Hello World!"})

    执行如下命令检索article集合种的对象

    db.articles.find()

    输出如下 (我是之前插入了两次json对象,所以显示了两条)

  • 数据库操作基本命令
    切换数据库 到mean

    use mean

    显示可用数据库

    show dbs

    插入数据到表posts中

    db.posts.insert({"title":"First Post","user":"liuyi"})

    查询posts表中的所有数据

    db.posts.find()
    

    根据条件查询

    db.posts.find({"user":"liuyi"})

    使用$in操作符查询

    db.posts.find({"user":{$in:["liuyi","alice"]} })

    and条件查询

    db.posts.find({"user":"liuyi","title":"First Post"});

    or条件查询

    db.posts.find({$or:[{"user":"alice"},{"user":"liuyi"}]})


    显示当前数据库下的所有表

    show collections

    删除post表

    db.posts.drop()

    根据条件更新posts表中的数据(默认更新一条符合条件的数据),如果没有匹配数据则新增一条数据

    db.posts.update({
      "user":"alice"
       },{
       "title":"Second Post",
       "user":"alice"
        },{
       upsert:true
       })
    

    如果改变第三个参数为 multi:true 则可以更新所有符合条件的纪录

    db.posts.update({
      "user":"alice"
       },{
       "title":"Second Post",
       "user":"alice"
        },{
        multi:true
       })
    


    如果没有传递id字段则新增,传递则修改

    db.posts.save({ "_id" : ObjectId("59960f46f31917b400da5a20"),
                    "title":"Third Post",
                    "user":"a mao"})

    删除posts表中所有数据

    db.posts.remove({})

    删除符合条件的所有数据

    db.posts.remove({"user":"liuyi"})

    删除符合条件的第一条数据

    db.posts.remove({"user":"liuyi"},true)

     

© 著作权归作者所有

共有 人打赏支持
lilugirl
粉丝 94
博文 391
码字总数 107934
作品 0
杨浦
程序员
私信 提问

暂无文章

高并发编程:解析HashMap

底层实现原理 在JDK1.8以前版本中,HashMap的实现是数组+链表,它的缺点是即使哈希函数选择的再好,也很难达到元素百分百均匀分布,而且当HashMap中有大量元素都存到同一个桶中时,这个桶会有...

小刀爱编程
10分钟前
0
0
程序员请不要假装很努力,因为结果不会陪你演戏

前言: 我一直相信这样一句话:真正的危机,来源于在正确的时间做不正确的事。没有在正确的时间,为下一步做出积累,这才是危机的根源。 比如,当你迈过了30岁这个坎,你的能力还局限于程序的...

Java干货分享
16分钟前
1
0
Fio随机读IOPS测试值可能偏大的原因分析

问题描述: 在使用fio进行虚拟机磁盘(Ceph的RBD,格式化为ext4文件系统)的IOPS测试时,发现randread比预估值高许多; 在使用相同参数进行randwrite测试之后,再进行randread时会出现此现象...

LastRitter
19分钟前
0
0
JavaScript引用类型Object常见用法实例分析

1、JavaScript数据类型 (1)基本类型 5种基本类型:Undefined、Null、Boolean、Number、String (2)引用类型 5种引用类型:Object、Array、Date、RepExp、Function (3)基本类型与引用类型的异同...

peakedness丶
26分钟前
0
0
教你理清SpringBoot与SpringMVC的关系

spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc。spring mvc 是只是spring 处理web层请求的一个模块。因此他们的关系大概就是这...

别打我会飞
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部