目 录
1、mongo --eval 使用
# 例如
mongo 192.168.1.2:27060/mybase --eval 'printjson(db.tasks.findOne())'
https://blog.csdn.net/lly337/article/details/117036997
2、Linux脚本执行MongoDB查询
mongo --eval "printjson(db.serverStatus())"
3、MongoDB远程Shell脚本创建数据库
4、删除数据库
5、通过js shell操作mongo
使用js的4种方式
腾讯云使用js的方式介绍
mongodb shell 运行js脚本的四种方式
使用js
# 保存命令:
j={name:"wangjingjing",age:15}
db.user.save(j);
# 查询命令:
var cursor = db.user.find();
while(cursor.hasNext())printJson(cursor.next());
printJson(cursor[4]);
var arr = cursor.toArray();
db.user.find({name:"wangjingjing"});
//select age from user where name='wangjingjing'
db.user.find({name:"wangjingjing"},{age:true});
db.user.findOne();
db.user.find().limit(3);
# 修改命令:
db.user.update({name:"wangjingjing"},{$set:{name:"jingjing"}});
db.user.update({name:"wangjingjing"},{$inc:{age:10}}); //给age增加10
db.user.update({name:"wangjingjing"},{$push:{habit:["basketball","football"]}});
# 删除命令:
db.user.remove({name:"jingjing"})
mongodb一键安装
tar -zxvf mongodb-linux-x86_64-rhel70-3.6.23.tgz
mkdir -p /usr/local/mongodb36
mv mongodb-linux-x86_64-rhel70-3.6.23 /usr/local/mongodb36
mkdir -p /var/lib/mongodb36
mkdir -p /var/log/mongodb36
cd /usr/local/mongodb36/mongodb-linux-x86_64-rhel70-3.6.23/bin/
# 开启进程
./mongod --dbpath /var/lib/mongodb36 --logpath /var/log/mongodb36/mongod.log --fork
echo "---------mongodb install success!!!---------"
sleep 1
# 创建用户
./mongo localhost:27017/admin --eval "printjson(db.createUser({user: \"test1\", pwd: \"test1\", roles: [{role: \"root\", db: \"admin\"}]}) )"
echo "---------mongodb create user success!!!---------"
# 关闭mongodb
./mongod --dbpath /var/lib/mongodb36 --logpath /var/log/mongodb36/mongod.log --shutdown
sleep 1
echo "---------mongodb stop success !!!, later restaring ---------"
echo "sharding:" >> mongo.conf
echo " clusterRole: shardsvr" >> mongo.conf
echo "replication:" >> mongo.conf
echo " replSetName: repsettest" >> mongo.conf
echo "net:" >> mongo.conf
echo " bindIp: localhost" >> mongo.conf
# 启动
./mongod --config mongo.conf --replSet repsettest --dbpath /var/lib/mongodb36 --logpath /var/log/mongodb36/mongod.log --bind_ip 0.0.0.0 --fork --auth
echo "---------mongodb restart success!!!---------"
# 设置
./mongo admin -u test1 -p test1 --port 27018 --eval "printjson(rs.status())"
./mongo admin -u test1 -p test1 --port 27018 --eval "printjson(rs.initiate({_id: \"repsettest\", configsvr: false,members: [{ _id:0, host : \"localhost:27018\" },]}))"
./mongo admin -u test1 -p test1 --port 27018 --eval "printjson(rs.status())"
echo "---------mongodb set replSet success!, install done!!---------"
插入数据
path='/usr/local/mongodb36/mongodb-linux-x86_64-rhel70-3.6.23/bin/data.js'
echo "db = db.getSiblingDB('dts-test-mongodb')" >> ${path}
echo "db.createCollection('dtstesttable1')" >> ${path}
echo "db.dtstesttable1.insertOne({datatype: 'MongoDB'})" >> ${path}
echo "db.dtstesttable1.insertOne({datatype2: 'MongoDB2'})" >> ${path}
/usr/local/mongodb36/mongodb-linux-x86_64-rhel70-3.6.23/bin/mongo -u test1 -p test1 --port 27018 /usr/local/mongodb36/mongodb-linux-x86_64-rhel70-3.6.23/bin/data.js