mongodb_常用操作命令笔记_1

本文介绍了NoSQL数据库中的MongoDB,强调了其在扩展性、大数据量处理和灵活性方面的优势。详细列举了MongoDB的常用命令,包括启动服务器、客户端、使用数据库以及基础的插入、查询、更新和检索操作。同时,还讲解了数据的备份和恢复方法,提供了具体的mongorestore命令示例。
摘要由CSDN通过智能技术生成

1.nosql的介绍

  • “NoSQL”一词最早于1998年被用于一个轻量级的关系数据库的名字,随着web2.0的快速发展,NoSQL概念在2009年被提了出来.
  • NoSQL在2010年风生水起起,现在国内外众多网站,facebook、 google、 淘宝、 京东、 百度等都在使nosql开发高性能的产品
  • 对于一名程序员来讲, 使nosql已经成为一条必备技能
  • NoSQL最常见的解释是“non-relational”, “Not Only SQL”也被很多人接受, 指的是非关系型的数据库
  • 关系型数据库主要有:mysql Oracle
  • 非非关系型数据库主要有: redis mongodb

2.mongodb的优势

  • 易扩展: NoSQL数据库种类繁多,但是⼀个共同的特点都是去掉关系数据库的关系型特性. 数据之间⽆关系, 这样就⾮常容易扩展.
  • ⼤数据量.⾼性能: NoSQL数据库都具有⾮常⾼的读写性能,尤其在⼤数据量下, 同样表现优秀.这得益于它的⽆关系性,数据库的结构简单.
  • 灵活的数据模型: NoSQL⽆需事先为要存储的数据建⽴字段,随时可以存储⾃定义的数据格式.⽽在关系数据库⾥,增删字段是⼀件⾮常麻烦的事情。 如果是⾮常⼤数据量的表, 增加字段简直就是⼀个噩梦

3. mongodb常用命令

3.1 启动服务器

启动:  sudo service mongod start
停止:  sudo service mongod stop
重启:  sudo service mongod restart
查看是否启动成功:  ps ajx|grep mongod
配置位置:  /etc/mongod.conf   默认端口:27017

3.2 启动客户端

启动本地客户端:  mongo

3.3 使用数据库(不用创建, 因为mongod自动创建)

查看当前数据库:  db
查看全部数据库: dbs
切换使用数据库: use db_name
删除当前数据库: db.dropDatab()
手动创建:  db.creatCollection("sub", {capped:true, siz:10})
参数capped: 默认值为flase		size表示上传文件限制大小,单位字节

3.4 基础命令–设 使用了test集合

查看当前数据库全部集合: show collections
删除集合: db.test.drop()
插入数据:
db.test.insert({_id:'1001', name: 'python', age:18 })
_id不设置,mongod会默认帮我们设置, _id数据唯一
查询:
db.test.find()
db.test.findOne()
db.test.find({age:18})
更新与输出
更新:  db.test.update({name:'pyhotn'}, {name:"这是更新内容"})
删除: db.text.remove({name: ''python'})
运算符
运算符:
等于: 没有运算符, 默认就是等于判断
小于: $lt    小于等于: $lte
大于: $gt   大于等于: $gte
不等于:  $ne
and 并且 : 默认就是and
or 或 : 使用$or
列:  db.test.find({age: {$gte18} } )  找到age大于等于18的数据
列:  db.test.find( {$or:[ { age:{$gte:18}}, {name:'java'} ] } )  
找到age大于18的数据, 或者名字是java的
范围运算
范围运算: 
在这个范围: $in
列: db.test.( { age: {$in:[10,20] } } )

可能你会解决运算符是在里面,还是在外面的问题,像大于小于这些,都是判断数据里面的所有一般在里面, 而and和or这些,是大的, 运算时候一般靠后的,是在外面, 还有就是$ln,这个是用来确定数据访问的所以在里面.

读取条数:
方法limit() 用于指定读取数量
方法skip() 用于跳过指定条数
统计个数: count()
列: db.test.find().skip(3).limit(4).count()  
查询test的数据跳过前三条,然后读取4条数据,最后统计一下有几条,然后输出
方法sort({字段:1})    参数1为升序, -1为降序 
db.test.find({ }, {_id:0, name;1, age:1})
{ }投影后存放进去, 参数0 代表不显示, 参数1代表显示,
检索
对name建立索引:  db.test.ensurelndex( {name:1} )
查看当前所有索引:  db.test.getlendexes()
输出name索引:   db.test.droplndex("name")

4. 数据的备份和恢复

4.1数据的备份

mongodump -h dbhost -d dbname -o dbdirectory
-h: 服务器地址, 也可以指定端⼝号
-d: 需要备份的数据库名称
-o: 备份的数据存放位置, 此⽬录中存放着备份出来的数据
mongodump -h 127.0.0.1:27017 -d test1 -o ~/Desktop/data

4.2数据的恢复

mongorestore -h dbhost -d dbname --dir dbdirectory
-h: 服务器地址
-d: 需要恢复的数据库实例
–dir: 备份数据所在位置
mongorestore -h 127.0.0.1:27017 -d test --dir ~/Desktop/data

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值