目录
- mongodb常用指令
- 数据导出
- 数据导入
- 数据插入
- 数据删除
- 数据修改
- 数据查询
- 设置服务自动启动
mongodb常用指令
cls:清屏幕
mongo:进入到你的mongo命令环境当中
show dbs:将你的数据库列表进行显示
show collections:查看当前库下的所有集合列表
db:查看当前所处的数据库是哪一个
use dbName 使用数据库
数据导出
mongoexport -d mydb1 -c c1 -o E:/wmx/mongoDump/c1.json
将 数据库 mydb1 下的 集合 c1 导出到 E:/wmx/mongoDump/c1.json 文件中,存储文件可以是多种形式,如 txt、xls、docs 等等
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字
-f:指明要导出那些列
-o:指明到要导出的文件名
-q:指明导出数据的过滤条件
数据导入
mongoimport --db my --collection score --file E:\1822\Lession05\data --drop
–db my:指定导入的数据库
–collection score:指定导入的集合score(当前数据库下集合名,假设score集合存在)
–file E:\1822\Lession05\data :指定导入的文件
–drop: 可以省略。省略的话是追加,不省略的话先会将之前的数据删除,然后再导入数据。
数据插入
db.contextList.insert({userName:"laoli",age:18})
在当前库下的contextList集合当中插入一个文档:{userName:“laoli”,age:18}
数据删除
db.dropDatabase()
删除当前数据库
db.score.remove({sex:"男"},{justOne:true})
删除性别为男的,只删除一条。如果要删除多条,justOne省略
db.score.remove({})
全部清空
数据修改
db.score.update({age:12},{$set:{sex:"男"}},{multi:true})
db.score.update({userName:"王五"},{$inc:{age:-1}}) 将年龄减1
第一个参数是条件,第二个是要修改的内容,第三个multi:true代表可以修改多条,省略只能一次修改一条。
*$set如果不使用,即是完整修改。
数据查询
db.score.find()
查找当前库下的score集合当中所有的记录。
db.score.find({userName:"朴二"}))
精确查找,查找userName等于朴二的记录
db.score.find({"score.shuxue":100})
查找数学成绩为100.加上双引号。
db.score.find({userName:/王/})
查找userName包含王字符的
db.score.find({age:13,sex:"男"})
多条件查找,年龄等于13,性别等于男
db.score.find({age:{$gt:12}})
年龄大于12
$gt:大于 $gte:大于等于 $lt:小于 $lte:小于等于 $ne:不等于
db.score.find({age:{$gt:13},sex:"男"})
年龄大于13,并且性别为男
db.score.find({$or:[{sex:"男"},{age:{$gt:80}}]})
年龄大于80或性别为男
db.score.find({age:12}).count()
根据条件获得文档数量
db.score.count()
文档的集合数量。
db.score.find().sort({age:-1,"score.shuxue":-1})
排序。1正序,-1倒序。先按照年龄的倒序,如果年龄相同则按照数学的倒序来排列。
db.score.find({age:{$gt:30}}).sort({age:1}).skip(1).limit(1)
skip是指定跳过的文档数,limit指定显示的文档数。
设置服务自动启动
mongod --dbpath D:\MongoDB\data\db --logpath=D:\MongoDB\logs\mongodb.log --install
dbpath:数据文件路径
logpath:日志文件路径