MongoDB 快速上手

同Mysql对比

SQLMongoDB
databasedatabase
tablecollection
rowdocument
columnfield
indexindex
table joinnot support
Primary KeyPrimary Key

MongoDB

基本概念

NoSQL数据库

特殊数据库:
1. admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
2. local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
3. config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

mongod: 服务器
mongo: 客户端

collection: 集合,相当于MYSQL中的table
capped collecitons: 固定大小的collection,有队列过期的设置
db.createCollection("mycoll", {capped:true, size:100000})

元数据:数据库的信息是存储在集合中
space描述
dbname.system.namespaces所有名字空间
dbname.system.indexes所有索引
dbname.system.profile概要信息
dbname.system.users显示用户
dbname.local.sources复制对slave的服务器信息和状态
    show dbs
    db # 显示当前DB
    use db

数据库操作

常用操作

1. 数据库 
    1. 创建 use db_name: 
    2. 添加数据collection: db.runoob.insert({"name":"rudi"})
    3. 删除 db.dropDatabase()
    4. 删除collection db.collection.drop()
2. 插入文档 db.collection_name.insert({document})
3. 查询
    1. 查看当前db中的collections:show collections;
    2. 查询文档 db.collection.find(query(查询条件), projection(指定返回的键))
    3. 查询返回一个文档 db.collection.findOne()
4. 保存
    1. 局部更新 db.col.update({"age":12},{$set:{"age":20}}},upsert, multi)
    2. 文档替换 db.col.save({...})
5. 删除文档 db.col.remove({},justOne(如果为true或者1时,只删除一条))
6. $type操作符,跟mongodb类型表有关
7. Limt与Skip
    1. db.COLLECTION_NAME.find().limit(NUMBER)
    2. db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
8. 排序 db.COLLECTION_NAME.find().sort({KEY:1}),1升序,-1降序
operationEg.
equaldb.col.find({“name”:”rudi”}).pretty()
less thandb.col.find({“age”:{$lt:20}}).pretty()
less than or equestdb.col.find({“age”:{$lte:20}}).pretty()
large thandb.col.find({“age”:{$lt:20}}).pretty()
not equaldb.col.find({“age”:{$ne:20}}).pretty()
anddb.col.find({“age”:15, “name”:”rudi”).pretty()
ordb.col.find($or:[{“age”:15},{“name”:”rudi”}).pretty()
只更新第一条记录:
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 );

进阶操作

1. 索引: db.COLLECTION_NAME.ensureIndex({KEY:1}),1升序,-1降序
2. 数据聚合:类似Excel中的公式
3. 监控:
    1. mongostat (命令行执行)
    2. mongotop(命令行执行)

T.B.D.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值