• mongodb02


    memcached     redis : kv数据库(key/value)
    
    mongodb 文档数据库,存储的是文档(Bson->json对象二进制化后叫bson,js的二进制对象,引擎是用js实现的).
    
    特点:内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作.

    mongo和传统型数据库(mqsql)相比,最大的不同:
    传统型数据库: 结构化数据, 定好了表结构后,每一行的内容,必是符合表结构的,就是说--列的个数,类型都一样.
    mongo文档型数据库: 表下的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值)
    
    思路: 如果有电影, 影评, 影评的回复, 回复的打分
    在传统型数据库中, 至少要4张表, 关联度非常复杂.
    在文档数据库中,通过1篇文档,即可完成.  体现出文档型数据库的反范式化.
    {
     fiim:’天龙八部’
     comment:[
    {content:’王家卫的电影风格’,
     reply:[‘支持’,’好’]
    }
    ]
    }
    mongodb的安装
    1: 下载mongodb www.mongodb.org  下载最新的stable版
    2: 解压文件
    3: 不用编译,本身就是编译后的二进制可执行文件.

    4: 启动mongod服务
    
    5: mongodb非常的占磁盘空间, 刚启动后要占3-4G左右,
    如果你用虚拟机练习,可能空间不够,导致无法启动.
    可以用 --smallfiles 选项来启动, 
    将会占用较小空间  400M左右.

     mongo也可以去连接其他数据库。

    1.1: show dbs  查看当前的数据库,admin放的是和管理相关的,用户的操作,安全配置。Local:放其他数据库的信息,这2个库不要动。
    1.2 use  test 选库
    1.2 show  tables/collections 查看当前库下的collection,mongodb的表不叫表叫collection,
    1.3 如何创建库?(没有createdatabase 命令)
    Mongodb的库是隐式创建,你可以use 一个不存在的库,use shop就创建了一个库,
    然后在该库下创建collection,即可创建库db.createCollection(‘user’)  
    创建collection,这样就创建了一个库和collection(表),把表创建完了库才能创建好。
    use shop
    db.createCollection("user")
    show dbs:
    admin  0.000GB
    local  0.000GB
    shop   0.000GB
    test   0.000GB
    表就是一个个的集合,里面是一个个的文档,没有表的结构。表里面就是一个个的json对象。
    use shop
    show tables
    db.user.insert({name:"1yw",age:1120})
    db.user.insert({name:"1yww",age:1120,tt:"1oo"})
    db.user.insert({na:113,ageeee:"1888"})
    db.user.insert({ _id : 1112, ma : 113, ageeee : "1888",aaa:{aa:"ll0",sss:"ddddd"} })
    db.user.insert({_id:1113,ss:[123,"ddd",'kk'],ma: 113, ageeee : "1888",aaa:{aa:"ll0",sss:"ddddd"} })
    
    db.user.find():
    { "_id" : ObjectId("5a448f0283c2d5efb2d581d8"), "name" : "yw", "age" : 120 }
    { "_id" : ObjectId("5a448f0283c2d5efb2d581d9"), "name" : "yww", "age" : 120, "tt
    " : "oo" }
    { "_id" : ObjectId("5a448f0283c2d5efb2d581da"), "na" : 13, "ageeee" : "888" }
    { "_id" : ObjectId("5a448f8283c2d5efb2d581db"), "name" : "1yw", "age" : 1120 }
    { "_id" : ObjectId("5a448f8283c2d5efb2d581dc"), "name" : "1yww", "age" : 1120, "
    tt" : "1oo" }
    { "_id" : ObjectId("5a448f8283c2d5efb2d581dd"), "na" : 113, "ageeee" : "1888" }
    自己指定id:
    { "_id" : 1000, "name" : "1yw", "age" : 1120 }
    { "_id" : 1001, "name" : "1yww", "age" : 1120, "tt" : "1oo" }
    { "_id" : 1002, "na" : 113, "ageeee" : "1888" }
    { "_id" : 1113, "ss" : [ 123, "ddd", "kk" ], "ma" : 113, "ageeee" : "1888", "aaa
    " : { "aa" : "ll0", "sss" : "ddddd" } }
    
    
    
    Collection的意思没有,表是有结构的是有意思的,collection只是一个口袋一个集合。
    1.5 collection允许隐式创建
    Db.collectionName.insert(document);
    
    show collections  :user
    db.goods.insert({1:1,2:'2','3':3})   //就默认创建了goods这个collectio(表),没必要提前创建,collectios是表的集合
    show collections:goods  user
    db.goods.find()://不同的数据库不能操作,要切换数据库,
    { "_id" : ObjectId("5a44961e83c2d5efb2d581de"), "1" : 1, "2" : "2", "3" : 3 }
    
    
    1.6 db.collectionName.drop() ,
    删除collection
    use test
    show tables
    db.user.drop()
    show collections
    
    
    1.7 db.dropDatabase();
    删除database
    use shop        //先移到本数据库
    show tables
    db.dropDatabase()
    
    use test
    show tables
    db.dropDatabase()
    show dbs
  • 相关阅读:
    年终了,总结一下
    IIS7下安装.net1.1
    CSLA中的连接管理器ConnectionManager
    CSLA.NET权限规则的困惑
    修改 D
    存储过程万能分页 D
    C/S框架WebService架构用户凭证(令牌)解决方案
    C/S系统开发框架 WebService架构负载均衡技术(Load Balancing)
    C# .NET 开发框架 ClassGenerator 源码生成器 (C/S框架网)
    .Net开发框架
  • 原文地址:https://www.cnblogs.com/yaowen/p/8135441.html
Copyright © 2020-2023  润新知