MongoDB 快速上手

来源:互联网 发布:java程序设计是什么 编辑:程序博客网 时间:2024/05/20 15:38

  • 同Mysql对比
  • MongoDB
    • 基本概念
    • 数据库操作
      • 常用操作
      • 进阶操作
  • TBD

同Mysql对比

SQL MongoDB database database table collection row document column field index index table join not support Primary Key Primary Key

MongoDB

基本概念

NoSQL数据库特殊数据库:1. admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。2. local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合3. config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。mongod: 服务器mongo: 客户端collection: 集合,相当于MYSQL中的tablecapped 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降序
operation Eg. equal db.col.find({“name”:”rudi”}).pretty() less than db.col.find({“age”:{$lt:20}}).pretty() less than or equest db.col.find({“age”:{$lte:20}}).pretty() large than db.col.find({“age”:{$lt:20}}).pretty() not equal db.col.find({“age”:{$ne:20}}).pretty() and db.col.find({“age”:15, “name”:”rudi”).pretty() or db.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.

原创粉丝点击