美文网首页
【mongodb安装配置】

【mongodb安装配置】

作者: Y了个J | 来源:发表于2018-08-18 16:20 被阅读13次

    mongodb官网
    mongod 是用来连接到mongodb数据库服务器的,即服务器端。
    mongo 是用来启动MongoDB shell的,是mongodb的命令行客户端。

    1.mac安装mongodb

    $ brew install mongodb
    

    打开终端进入一个文件夹执行下面命令:

    $ mongod --config /usr/local/etc/mongod.conf
    $ mongod --dbpath filepath(如果是空文件夹会自动创建数据库)
    

    连接完成后可以通过http访问该数据库,mongodb默认使用了27017端口,因此在浏览器中打开http://localhost:27017可以显示一段英文表示连接成功。

    注意:一般我们数据库都设置登录密码,上一步可以这么执行
    $ mongod --dbpath filepath --port 20000 --auth
    

    设置了端口号为20000,并设置了需要auth权限,下面就得设置权限了
    用户管理员的角色名叫 userAdminAnyDatabase,这个角色只能在 admin 数据库中创建。

    $ mongo
    $ use test  (这里创建了一个test集合)
    $ use admin
    $ db.createUser({user:"root",pwd:"root123",roles:["userAdminAnyDatabase"]})
    $ db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]})
    $ db.auth("root","root123")  返回 1 表示登录成功
    $ db.auth("testuser","testpass")  // 返回1
    

    基本语法

    使用数据库:$ use dbname (use一个不存在的数据库就相当于新建)
    想查看当前在哪个数据库里:$ db
    列出所有数据库:$ show dbs
    显示集合:$ show collections
    
    $ mongo 
    注意:如果连接没设定--port端口号默认是27017端口
    但是设定了端口号的话,使用
    $ mongo --port 20000开启mongo
    如果还有集合密码的话就输入
    $ mongo --port 20000 -u testuser -p testpass  这里指定了连接的端口和权限密码
    具体可以 $ mongo --help查看
    如果连接远程数据库 换成  $ mongo 远程IP地址:端口号 -u 用户名 -p 密码
    
    注意没有读写权限,加权限sudo chown 那个文件夹目录,开启读写权限
    
    插入数据: $ db.student.insert({"name":"xiaoming","age":12,"sex":"man"});
    student就是所谓的集合。集合中存储着很多json,student是第一次使用,集合将自动创建。
    
    $ db.student.find(); 显示集合内容
    我们不可能一条一条的insert。所以,我们希望用sublime在外部写好数据库的形式,然后导入数据库:
    $ mongoimport --db test --collection restaurants --drop --file aa.json
    --db test  想往哪个数据库里面导入
    --collection restaurants  想往哪个集合中导入
    --drop 把集合清空
    --file aa.json  哪个文件
    这样,我们就能用sublime创建一个json文件,然后用mongoimport命令导入,这样学习数据库非常方便。
    
    删除当前所在的数据库:
    $ db.dropDatabase();
    
    查找数据
    列出这个集合的所有文档:
    $ db.restaurants.find()
    精确匹配
    $ db.student.find({"score.shuxue":70});
    多个条件:
    $ db.student.find({"score.shuxue":70 , "age":12})
    大于条件:
    $ db.student.find({"score.yuwen":{$gt:50}});
    寻找所有年龄是9岁,或者11岁的学生 
    $ db.student.find({$or:[{"age":9},{"age":11}]});
    查找完毕之后,打点调用sort,表示升降排序。
    $ db.restaurants.find().sort( { "borough": 1, "address.zipcode": 1 } )
    
    修改数据
    查找名字叫做小明的,把年龄更改为16岁:
    $ db.student.update({"name":"小明"},{$set:{"age":16}});
    查找数学成绩是70,把年龄更改为33岁:
    $ db.student.update({"score.shuxue":70},{$set:{"age":33}});
    $ db.student.update({"sex":"男"},{$set:{"age":33}},{multi: true});
    完整替换,不出现$set关键字了:
    $ db.student.update({"name":"小明"},{"name":"大明","age":16});
    
    删除数据
    $ db.restaurants.remove( { "borough": "Manhattan" } )
    $ db.restaurants.remove( { "borough": "Queens" }, { justOne: true } )
    
    

    相关文章

      网友评论

          本文标题:【mongodb安装配置】

          本文链接:https://www.haomeiwen.com/subject/dupfiftx.html