mongodb_常用操作命令笔记_1

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

你可能感兴趣的:(数据库操作笔记)