mongodb学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Arno_e/article/details/79962123

1.安装

1.1 安装方式rpm:http://www.mongoing.com/docs/tutorial/install-mongodb-on-red-hat.html,官方文档介绍的十分详细,但是是国外源,那个速度叫一个不解释。
1.2 *.gz安装
我这里的系统是centos7,所以https://www.mongodb.org/dl/linux/x86_64-rhel70?_ga=2.36821284.567782636.1523855519-159973659.1523323745,下载对应版本的压缩包;解压到/usr/local/mongodb

创建配置文件:

cd /usr/local/mongodb
cat mongodb.conf
bind_ip=0.0.0.0
port=27017
dbpath=/data/mongodb
rest=true
logpath=/usr/local/mongodb/mongodb.log
pidfilepath=/usr/local/mongodb/mongo.pid
fork=true
logappend=true
shardsvr=true
#directoryperdb=true
#auth=true  #开启认证
auth=false #开启认证

创建启动脚本:

cat /etc/init.d/mongod
#!/bin/bash

ulimit -SHn 655350

start() {
    /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
    }


stop() {
        /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --shutdown
        }


        case "$1" in
    start)
    start
          ;;
    stop)
    stop
    ;;
    restart)
    stop
    start
    ;;
    *)
    echo $"Usage:$0 {start|stop|restart}"
    exit 1
    esac

给启动脚本加上执行权限后,启动mongdb。

2.实践操作
2.1 基本概念
“文档”(document)是mongodb的基本单元,文档组成collection,也就是集合,集合相当于mysql中的table。

2.2 操作命令
1. use database;#进入一个数据库,如果该库不存在就会创建。
2. db.createCollection(name,option);#创建集合。创建集合中有个option选项:

db.createCollection('user1',{capped: 'true',size: 6142800,max: 1000})

capped:设置集合大小是否为固定值 ‘true’ or ‘false’,当值为true时,必须要加上size的值;当容量达到上限后,会自动覆盖最早的文档。
size:集合最大容量,单位为字节。
max:文档最大数量。
3.文档的基本操作:
文档插入:

 db.user1.insert( {'name': 'tom'})

文档查找:

db.user1.find()
{ "_id" : ObjectId("5ad43c01e72cb7b694ea9d8e"), "name" : "tom" }

文档修改:

 db.user1.update({"name" : "tom"},{$set:{"name": "xxx"}})

update用法: db.collection.update(
… {条件},
…{$set:{update内容}
…},{参数}
…)
参数介绍两个:
1.upsert: 不存在的内容会插入,默认是false
2.multi,默认为false,开启会只修改匹配到的第一条
update2:
db.collection.save{document}覆盖原来的集合了
删除文档:

db.collection.remove(条件)

注释:当集合为capped时,不能删除文档,修改值不能超过原空间。
文档排序:

 db.user1.find().sort({id:-1}) # sort({key:1})正序

索引
建立索引:

db.collection.ensureIndex({"name":1})

查询索引:

 db.user1.getIndexKeys()
阅读更多

没有更多推荐了,返回首页