MongoDB基础学习笔记
2017-08-02 13:44
309 查看
MongoDB基础学习笔记
数据库操作
创建、转到:use <database name>
当前数据库:
db
所有数据库(新建的数据库要插入数据才会显示):
show db
删除数据库:
db.dropDatabase()
集合操作
所有集合:show tables
删除集合:
db.<table name>.drop()
文档操作
插入数据(集合不存在自动创建):db.<table name>.insert({"col name":"value"})
查询文档:
db.<table name>.find()
插入或更新(指定_id则是更新):
db.<table name>.save({"col name":"value"})
插入多条(3.2版本以上):
db.<table name>.insertOne({"a": 3}) db.<table name>.insertMany([{"b": 3}, {'c': 4}])
更新文档:
db.<table name>.update( <query>, //查询条件 <update>, //更新内容 { upsert: <boolean>, //不存在是否插入 multi: <boolean>, //只更新找到的第一条记录 writeConcern: <document> //抛出异常的级别 } ) db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) //只更新第一条记录 db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } ); //全部更新 db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true ); //只添加第一条 db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false ); //全部添加加进去 db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true ); //全部更新 db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true ); //只更新第一条记录 db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
删除文档
db.<table name>.remove( <query>, //(可选)删除的文档的条件 { justOne: <boolean>, //(可选)如果设为 true 或 1,则只删除一个文档 writeConcern: <document> //(可选)抛出异常的级别 } ) //删除title为123的数据 db.col.remove({'title':'123'}) //删除所有数据 db.col.remove({})
数据查询
查询语法//查询,query条件,projection返回的键/列 db.collection.find(query, projection) //pretty,以格式化的方式来显示结果 db.col.find().pretty()
操作符条件
操作 | 格式 | 范例 |
---|---|---|
等于 | {<key>:<value>} | db.col.find({"by":"123"}).pretty() |
小于 | {<key>:{$lt:<value>}} | db.col.find({"likes":{$lt:50}}).pretty() |
小于或等于 | {<key>:{$lte:<value>}} | db.col.find({"likes":{$lte:50}}).pretty() |
大于 | {<key>:{$gt:<value>}} | db.col.find({"likes":{$gt:50}}).pretty() |
大于或等于 | {<key>:{$gte:<value>}} | db.col.find({"likes":{$gte:50}}).pretty() |
不等于 | {<key>:{$ne:<value>}} | db.col.find({"likes":{$ne:50}}).pretty() |
db.col.find({key1:value1, key2:value2}).pretty() db.col.find({$or: [{key1: value1}, {key2:value2}]}).pretty()
类型匹配
db.col.find({"title" : {$type : 2}})
类型 | 数字 | 类型 | 数字 |
---|---|---|---|
Double | 1 | Regular Expression | 11 |
String | 2 | JavaScript | 13 |
Object | 3 | Symbol | 14 |
Array | 4 | JavaScript (with scope) | 15 |
Binary data | 5 | 32-bit integer | 16 |
Undefined(已废弃) | 6 | Timestamp | 17 |
Object id | 7 | 64-bit integer | 18 |
Boolean | 8 | Min key(Query with -1) | 255 |
Date | 9 | Max key | 127 |
Null | 10 | - | - |
//查询结果前2条 db.col.find({},{"title":1,_id:0}).limit(2) //跳过查询结果1条 db.col.find({},{"title":1,_id:0}).skip(1) //分页第2页,每页10条 db.col.find({},{"title":1,_id:0}).limit(10).skip(10)
排序
//语法,1为升序,-1为降序 db.COLLECTION_NAME.find().sort({KEY:1}) //例 db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
备份与恢复
备份//-h:MongDB所在服务器地址;-d:需要备份的数据库实例;-o:备份的数据存放位置 mongodump -h dbhost -d dbname -o dbdirectory
语法 | 描述 | 实例 |
---|---|---|
mongodump –host HOST_NAME –port PORT_NUMBER | 该命令将备份所有MongoDB数据 | mongodump –host 10.0.3.1 –port 27017 |
mongodump –dbpath DB_PATH –out BACKUP_DIRECTORY | - | mongodump –dbpath /data/db/ –out /data/backup/ |
mongodump –collection COLLECTION –db DB_NAME | 该命令将备份指定数据库的集合。 | mongodump –collection mycol –db test |
//语法,--host <:port>, -h <:port>:服务器地址;--db , -d:数据库实例; //--drop:删除备份后添加修改的数据;<path>:备份数据所在位置; //--dir:指定备份目录,与<path>选其一 mongorestore -h <hostname><:port> -d dbname <path>
相关文章推荐
- 学习笔记之MongoDB基础命令
- MongoDB 学习笔记一 安装以及基础命令
- MongoDB 学习笔记一 安装以及基础命令
- 【MongoDB学习笔记14】MongoDB的查询:find基础
- 学习MongoDB笔记(二)——mogo基础操作
- MongoDB 学习笔记(一)基础篇
- 笔记:MongoDB 基础学习
- mongodb 学习笔记
- C++ 学习笔记 <1> C++ 语法基础知识
- ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法
- laravel 学习笔记——路由(基础)
- 在慕课上学习的,HTML和CSS基础学习笔记3
- Yii2实用基础学习笔记(三):Url助手与分页组件
- 存储基础学习笔记
- (清华大学HTML+CSS+JavaScript入门到精通学习笔记)第二章 HTML基础
- SpringMVC + Spring + MyBatis 学习笔记:提交数据遭遇基础类型和日期类型报400错误解决方法
- 零基础入门-javascript学习笔记之传说中的闭包
- MFC学习笔记——基础