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)

浙公网安备 33010602011771号