您的位置:首页 > 数据库 > Mongodb

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()
and、or

db.col.find({key1:value1, key2:value2}).pretty()

db.col.find({$or: [{key1: value1}, {key2:value2}]}).pretty()


类型匹配

db.col.find({"title" : {$type : 2}})


类型数字类型数字
Double1Regular Expression11
String2JavaScript13
Object3Symbol14
Array4JavaScript (with scope)15
Binary data532-bit integer16
Undefined(已废弃)6Timestamp17
Object id764-bit integer18
Boolean8Min key(Query with -1)255
Date9Max key127
Null10--
Limit与Skip

//查询结果前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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: