1:创建仓库
vi /etc/yum.repos.d/mongodb-org-3.4.repo

2:把下面的内容复制到文件中 保存退出

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
注意,上面的数字比如5.0可以替换成其他已有的版本号,参见
下面这个链接可以选择linux版本
假设我是centos 7的
我可以选择3.4版本
3:yum安装 如图安装完成
yum install -y mongodb-org

警告:外网下载很慢
然后发现下载很慢,我就把图中列出的rpm包手动下载了,然后删除掉前面创建的repo文件。
 
我的linux是centos 7 ,我准备下载5.0的MongoDB,我从下面这个链接下载rpm

成功安装

4、修改配置文件

把bindIP改成 0.0.0.0所有的机器都可以访问
 
5、启动/关闭mogodb
systemctl start mongod 启动MongoDB
systemctl enable mongod 开启启动MongoDB

二、MongoDB创建用户
进入到mongo数据库里面执行命令:
1、use admin 使用admin数据库 如果使用其它的数据库 可以使用use XXXX 也是创建数据库的命令
2、db.createUser({user:"root",pwd:"123456",roles:"root"}) 创建管理员用户 是根据roles来定义的
3、db.createUser({user:"root",pwd:"123456",roles:"read"}) 针对某个数据库(database)建立用户(权限:read,readWrite,write)
三、mongodb入门命令-创建表数据库
1.mongodb入门命令
1.1 show databases; 或 show dbs; //查看当前的数据库

1.2 use databaseName 选择库
show tables/collections 查看当前库下的collections
1.3 如何创建库
mongodb 的库是隐式创建,你可以use一个不存在的库
然后在该库下创建collection,即可创建库
1.4 db.createCollection('collectionName'); //创建collection
1.5 collection 允许隐式创建
db.collectionName.insert(document);
1.6 db.collectionName.drop(); /删除collection
1.7插入user表语句
(1)自动生成id值
 db.user.insert({name:'lisi',age:22})
WriteResult({ "nInserted" : 1 })
> db.user.find();
{ "_id" : ObjectId("5d73077c71b815674de4d152"), "name" : "lisi", "age" : 22 }
(2) 指定生成id
> db.user.insert({_id:2,name:'wangwu',age:25})
WriteResult({ "nInserted" : 1 })
> db.user.find();
{ "_id" : ObjectId("5d73077c71b815674de4d152"), "name" : "lisi", "age" : 22 }
{ "_id" : 2, "name" : "wangwu", "age" : 25 }
(3) 插入多层
> db.user.insert({_id:3,name:'xiaobing',hobby:['basketball','football'],intro:{'title':'My intro','content':'from china'}});
WriteResult({ "nInserted" : 1 })
> db.user.find();
{ "_id" : ObjectId("5d73077c71b815674de4d152"), "name" : "lisi", "age" : 22 }
{ "_id" : 2, "name" : "wangwu", "age" : 25 }
{ "_id" : 3, "name" : "xiaobing", "hobby" : [ "basketball", "football" ], "intro" : { "title" : "My intro", "content" : "from china" } }
>
1.8 其实mongodb不需要声明表,可直接写入表数据,即可创建成功!
> show tables;
user
> db.goods.insert({_id:1,name:'oppoR11',price:'3000'});
WriteResult({ "nInserted" : 1 })
> show tables;
goods
user
> db.goods.find()
{ "_id" : 1, "name" : "oppoR11", "price" : "3000" }
1.9 删除表 db.collectionName.drop();
> show collections
goods
user
> db.goods.drop();
true
> show collections;
user
2.0 删除数据库 db.dropDatabase()
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
shop    0.000GB
> use shop;
switched to db shop
> db.dropDatabase();
{ "dropped" : "shop", "ok" : 1 }
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
2.1 查询帮助 db.help();
> db.help()
DB methods:
        db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs command [just calls db.runCommand(...)]
        db.aggregate([pipeline], {options}) - performs a collectionless aggregation on this database; returns a cursor
        db.auth(username, password)
        db.cloneDatabase(fromhost) - deprecated
        db.commandHelp(name) returns the help for the command
        db.copyDatabase(fromdb, todb, fromhost) - deprecated
        db.createCollection(name, {size: ..., capped: ..., max: ...})
        db.createView(name, viewOn, [{$operator: {...}}, ...], {viewOptions})
        db.createUser(userDocument)
        db.currentOp() displays currently executing operations in the db
        db.dropDatabase()
        db.eval() - deprecated
        db.fsyncLock() flush data to disk and lock server for backups
        db.fsyncUnlock() unlocks server following a db.fsyncLock()
        db.getCollection(cname) same as db['cname'] or db.cname
        db.getCollectionInfos([filter]) - returns a list that contains the names and options of the db's collections
        db.getCollectionNames()
        db.getLastError() - just returns the err msg string
        db.getLastErrorObj() - return full status object
        db.getLogComponents()
        db.getMongo() get the server connection object
        db.getMongo().setSlaveOk() allow queries on a replication slave server
        db.getName()
        db.getPrevError()
        db.getProfilingLevel() - deprecated
        db.getProfilingStatus() - returns if profiling is on and slow threshold
        db.getReplicationInfo()
        db.getSiblingDB(name) get the db at the same server as this one
        db.getWriteConcern() - returns the write concern used for any operations on this db, inherited from server object if set
        db.hostInfo() get details about the server's host
        db.isMaster() check replica primary status
        db.killOp(opid) kills the current operation in the db
        db.listCommands() lists all the db commands
        db.loadServerScripts() loads all the scripts in db.system.js
        db.logout()
        db.printCollectionStats()
        db.printReplicationInfo()
        db.printShardingStatus()
        db.printSlaveReplicationInfo()
        db.dropUser(username)
        db.repairDatabase()
        db.resetError()
        db.runCommand(cmdObj) run a database command.  if cmdObj is a string, turns it into {cmdObj: 1}
        db.serverStatus()
        db.setLogLevel(level,<component>)
        db.setProfilingLevel(level,slowms) 0=off 1=slow 2=all
        db.setWriteConcern(<write concern doc>) - sets the write concern for writes to the db
        db.unsetWriteConcern(<write concern doc>) - unsets the write concern for writes to the db
        db.setVerboseShell(flag) display extra information in shell output
        db.shutdownServer()
        db.stats()
        db.version() current version of the server
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号