文档章节

MongoDB安装

lilugirl
 lilugirl
发布于 2017/08/16 16:14
字数 657
阅读 55
收藏 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
粉丝 92
博文 378
码字总数 105471
作品 0
杨浦
程序员

暂无文章

活动招募 HUAWEI HiAI公开课·北京站-如何在4小时把你的APP变身AI应用

人工智能和机器学习是全球关注的新趋势,也是当前最火爆、最流行的话题。当你拿手机用语音助手帮你点外卖,智能推荐帮你把周边美食一网打尽;当你拿起P20拍照时,它将自动识别场景进行最美优...

华为终端开放实验室
15分钟前
0
0
匹配两位小数,js正则

var regex = /^\d*(\.[1-9]|\.\d[1-9])*$/ console.log(1.2,regex.test(1.2)); console.log(0.3,regex.test(0.3)); console.log(1.03,regex.test(1.03)); ......

微信小程序-暗潮
19分钟前
0
0
905. Sort Array By Parity - LeetCode

Question 905. Sort Array By Parity Solution 题目大意:数组排序,偶数放前,奇数在后,偶数的数之间不用管顺序,奇数的数之间也不用管顺序 思路:建两个list,一个放偶数,一个放奇数,最...

yysue
24分钟前
0
0
h5 禁止手机自带键盘弹出

html: <div style="width: 350px;margin:50px auto;"><input type="text" id="datePicker" class="date_picker form-control" placeholder="点击选择入住日期" /></div> js: $("#date......

Delete90
41分钟前
1
0
color透明度对照表

透明度百分比 数值 100% 不透明 FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% 8C 50% 80 45% 73 40% 66 35% 59 30% 4D 25% 40 20% 33 15% 26 10% 1A 5% 0D 0% 完全透明 ......

_无问西东
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部