centos7安装mongodb以及使用

安装

yum install -y openssl-devel openssl

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.10.tgz

tar zxvf mongodb-linux-x86_64-rhel70-3.4.10.tgz

mkdir /usr/local/mongodb

mv mongodb-linux-x86_64-rhel70-3.4.10/* /usr/local/mongodb

cd /usr/local/mongodb

mkdir data

mkdir log

mkdir /data/db -p

cd bin

vi mongodb.conf

#配置文件内容参考如下

dbpath=/usr/local/mongodb/data

logpath=/usr/local/mongodb/log/mongodb.log

port=27017

bind_ip=192.168.19.131 (只有这个ip可以访问,如果配置外网可以访问注释此行)

fork=true

nohttpinterface=true

#7.启动MongoDB

./mongod --config mongodb.conf

#8.测试

telnet 192.168.200.130 27017

#9.设置开机启动

vi /etc/rc.local

#添加

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf

#10.重启测试MongoDB能否自启,如果远程访问需要添加防火墙设置打开27017端口

firewall-cmd --zone=public --add-port=27017/tcp --permanent

firewall-cmd --reload

vi /etc/profile

export PATH=/usr/local/mongodb/bin:$PATH

 

创建db

use zhaji
db 
db.test.insert({a:1, b:1})
show dbs;

添加用户

use zhaji
db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]})

建表

db.createCollection("name")

完整的命令如下:
db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>} )


name:集合的名字
capped:是否启用集合限制,如果开启需要制定一个限制条件,默认为不启用,这个参数没有实际意义
size:限制集合使用空间的大小,默认为没有限制
max:集合中最大条数限制,默认为没有限制
autoIndexId:是否使用_id作为索引,默认为使用(true或false)
size的优先级比max要高


常用方法介绍:
1、一般来说,我们创建集合用db.createCollection(name),如:db.createCollection("log"),创建一个名字为log的集合,没有任何的大小,数量限制,使用_id作为默认索引;

2、限制集合空间的大小:db.createCollection("log",{size:1024})或db.createCollection("log",{capped:true,size:1024}),创建一个名字为log集合,限制它的空间大小为1M,如果超过1M的大小,则会删除最早的记录;
3、限制集合的最大条数:db.createCollection("log",{max:1024}),创建一个名字为log集合,最大条数为1024条,超过1024再插入数据的话会删除最早的一条记录。这个不能使用capped:true,否则会报错;
4、即限制最大条数有限制使用空间大小:db.createCollection("log",{size:1024,max:1024})或db.createCollection("log",{capped:true,size:1024,max:1024}),限制集合最大使用空间为1M,最大条数为1024条

以上是参考官方文档和实际测试得出的,也可以看出capped参数没有什么用处,用不用都可以。

建索引

db.users.ensureIndex({name:1})


ensureIndex() 方法

MongoDB使用 ensureIndex() 方法来创建索引。

语法:db.COLLECTION_NAME.ensureIndex({KEY:1})

语法中 Key 值为你要创建的索引字段,1为指定按升序创建索引,如果你想按降序来创建索引指定为-1即可

ttl索引

db.subscribeUser.createIndex( { "createTime": 1 },  { expireAfterSeconds: 60*60*24 } )  

>db.log_events.createIndex( { "createTime": 1 },     ---字段名称 
                                { expireAfterSeconds: 60*60 } )     ---过期时间(单位秒)

>db.log_events.getIndexes()     ---查看索引
[
        {
                "v" : 1,
                "key" : {
                        "_id" : 1
                },
                "name" : "_id_",
                "ns" : "tt.t1"
        },
        {
                "v" : 1,
                "key" : {
                        "createTime" : 1
                },
                "name" : "createTime_1",
                "ns" : "tt.t1",
                "expireAfterSeconds" : 3600
        }
]
 

参考

https://blog.csdn.net/jianlong727/article/details/54631124

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值