启动mongo:
mongod --dbpath /usr/local/mongodb4.4.10/data --logpath /usr/local/mongodb4.4.10/logs/mongo.log --fork
或
nohup mongod --dbpath /usr/local/mongodb4.4.10/data --logpath /usr/local/mongodb4.4.10/logs/mongo.log &
--dbpath 设置数据存放目录
--logpath 设置日志存放目录
--fork 在后台运行
客户端连接mongo服务器
mongo
mongo 127.0.0.1:3000
登录远程数据库
mongo ip:port/数据库名 -u 用户名 -p 密码
./mongo 270.327.321.654:27017/mytest -uadmin -p123456
//输入登录密码
db.auth("admin","123456")
关闭mongo服务器(需要先使用mongo连接服务器后执行)
use admin;
db.shutdownServer();
查看当前登录的数据库:
db
查看当前数据库状态
db.stats()
查看当前数据库版本
db.version()
查看 mongod 服务是否启动:
ps aux | grep mongod
//导出数据库
/mongodump //导出所有数据库
/mongodump -h 127.0.0.1 -d students -o c:\bak\
/mongodump -h 127.0.0.1 -uadmin -d mytest -p 123456 //导出mytest数据库
//导入数据库
//导入mytest库并命名mytest4
/mongorestore -h 127.0.0.1:27017 -d mytest4 /usr/local/dump/mytest/
//导入mytest库并命名mytest5
/mongorestore -h 127.0.0.1:27017 -d mytest5 --dir /usr/local/dump/mytest/
//获取数据集的所有索引
db.数据集.getIndexes()
//新增索引
db.数据集.ensureIndex({"age":1})
显示数据库列表:
show dbs
显示当前数据库中的集合(表)
show collections
切换到指定数据库
use 数据库名
查看集合总数
db.集合名.count()
查看集合中的记录
查询出所有记录
db.集合名.find()
查询某条数据
db.集合名.find({x:1})
db.数据集.find({"username":"xiaoming"}).pretty()
//简单正则查询,username包含a的记录
db.数据集.find({"username":{$regex:'a'}})
//按照username排序查询
db.数据集.find({}).sort({"username":1})
跳过2条后查询出3条数据并按照x排序(sort数字为1表示升序,数字为2表示降序)
db.集合名.find().skip(2).limit(3).sort({x:1})
插入记录:(如果集合不存在则自动创建,数据格式为json。插入数据的时候,
会自动增加一个全局不唯一的_id字段,当然我们也可以自己指定一个值)
db.集合名.insert({name:'zhangsan'})
db.集合名.insert({xxx:3,_id:666})
修改记录:
如果有多条语句,只修改第一条,会覆盖原有数据.没有记录不插入
db.集合名.update({"name":"张三"},{"name":"张三丰"});
注意:$set表示局部更新。不使用$set的话,
如果该条数据中存在其他字段例如age、sex等其他字段都会被覆盖掉,
db.集合名.update({"name":"张三"},{$set:{"name":"张三丰"}});
第三个参数表示如果没有这条记录则插入这条记录
db.集合名.update({"name":"张三"},{"name":"张三丰"},true);
第四个参数表示更新所有匹配到的记录,false只修改第一条记录
db.集合名.update({"name":"张三"},{"name":"张三丰"},true,true);
删除所有数据:
db.集合名.remove({})
删除某条数据:
db.集合名.remove({'name':'zhangsan'})
db.集合名.remove({"_id":ObjectId("61b7063d1bfd39427f08aff8")});
删除集合:
db.集合名.drop()
删除数据库(首先使用use选中指定数据库)
db.dropDatabase()
1.新增索引(将age按升序创建索引,降序为-1)
db.集合名.createIndex({"age":1})
2、查看集合索引
db.集合名.getIndexes()
3、查看集合索引大小
db.集合名.totalIndexSize()
4、删除集合所有索引
db.集合名.dropIndexes()
5、删除集合指定索引
db.集合名.dropIndex("索引名称")
//创建mongodb用户并设置权限
db.createUser({
user:"admin",
pwd:"123456",
roles:["readWrite","dbAdmin"]
})