mongo单实例搭建+mongodump+mongorestore+基本操作

mongo软件下载地址

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

参数文件
port=27017
dbpath=/data0/mongo/mongodb/data
logpath=/data0/mongo/mongodb/logs/mongodb.log
logappend=true
fork=true
maxConns=100
#auth=true
journal=true
storageEngine=wiredTiger
bind_ip=0.0.0.0

 

启动

mongod -f /data0/mongo/mongodb/mongodb.conf

安装mongo tools
wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.3.0.tgz

 

安全认证

use admin
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})


远程登录
mongo --host 10.250.100.91 -u "root" --port 27017 --authenticationDatabase "admin" -p'123456'
mongo --host dds-2zee0d5e20ce97d41.mongodb.rds.aliyuncs.com -u "root" --port 3717 --authenticationDatabase "admin" -p'Dba@2019huohua!'

mongodump && mongorestore
mongodump -h dds-2zee0d5e20ce97d41.mongodb.rds.aliyuncs.com -u "root" --port 3717 --authenticationDatabase "admin" -p'Dba@2019huohua!' -d peppa_question -o /data0/mongo/mongodb/dump

mongorestore -h 10.250.100.91 -u "root" --port 27017 --authenticationDatabase "admin" -p'123456' --drop -d peppa_question /data0/mongo/mongodb/dump/peppa_question

 

基础操作

查看当前数据库:db

 

创建数据库:use test

 

删除数据库:use test;db.dropDatabase()

 

创建collection:db.createCollection(name,options)

capped:(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定size 参数。

size:(可选)为固定集合指定一个最大值,即字节数。如果 capped 为 true,也需要指定该字段。

max:(可选)指定固定集合中包含文档的最大数量。

db.createCollection("mycol",{capped:true,size:6142800,max:10000})

创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。

 

删除collection:db.collection_name.drop()

 

查看表:show tables (show collections)

 

插入document:db.collection_name.insertone()  && db.collection_name.insertmany()

 

 

 

 

更新document:

 

 

1.set方法:db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})

 

2.全部更新:db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

 

 

3.save方法:save() 方法通过传入的文档来替换已有文档,_id 主键存在就更新,不存在就插入

 

 

删除document

1.db.col.remove({'title':'MongoDB 教程'})   删除匹配条件到的所有记录

2.db.col.remove({})      相当于truncate

 

查询document

pretty是格式化的意思

1.比较

 

 

2.and

db.col.find({key1:value1, key2:value2}).pretty()

 

 3.or

 

例子:

 

 4.and 和 or 联用

 

 5.$type的使用

db.col.find({"title" : {$type : 'string'}})

 6.skip 和 limit (相当于mysql中offset limit)

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

7.sort(1为升序,-1为降序)

db.COLLECTION_NAME.find().sort({KEY:1})

 

创建索引

db.col.createIndex({"title":1})

复合索引:db.col.createIndex({"title":1,"description":-1})

后台创建:db.values.createIndex({open: 1, close: 1}, {background: true})

查看索引:db.col.getIndexes()

查看集合索引大小:db.col.totalIndexSize()

删除全部索引:db.col.dropIndexes()

删除某个索引:db.col.dropIndex("索引名称")

 

聚合(aggregate)

 

 

 

 

 

 

 

 

 

 

posted on 2021-02-22 16:20  从零开始662  阅读(207)  评论(0)    收藏  举报

导航