zoukankan      html  css  js  c++  java
  • Mongodb初步了解

    一、基本概念

    mongodb是最接近关系型数据库的非关系型数据库

    支持的数据结构是类似json的bjson格式

    面向集合的 模式自由的 文档型数据库


    和关系型数据库的对比:

    数据库  →  db
    集合    →  table
    文档    →  record

    mongodb最主要不是要解决高并发带来的问题,
    而是保证在大数据量存储的同时,查询效率的流畅

    mongodb是一个可移植的数据库,在流行的平台上都可以使用,

    即,跨平台特性




    二、启动与停止

    启动:

    进程服务:mongod

    mongod -dbpath  -p   
    默认存储路径是:data /
    默认端口:27017


    -log  日志功能
    -logappend



    mongod  -f  以配置文件的方式启动

    关于mongodb以配置文件的方式启动,还用有专门的文章来贴出来。。。


    停止:

    crtl+c (命令行中的停止)

    shudownServer()

    kill -2 PID 或者 kill -15 PID ( kill -9 PID 不可以 )  (linux系统中)



    三、管理工具

    mongoVUE

    rockmongo

    monghub

    自带的管理工具 mongo shell,本身是js shell
    所以识别js代码


    四、简单命令

    启动mongod实例进程后,输入mongo 即可进入:

    默认进入的数据库是test

    注意:数据库以及数据表事先不用建立,插入数据后,
    则自动建立相应的数据表和数据库

    对于mongodb中存储的内容,是以一种 BSON 的形式 键/值对 存储的,
    键必须是字符串类型的,值可以是其支持的任意类型


    db 是当前数据库的连接,
    输入db ,显示当前连接的数据库名字

    查看帮助 : db.help()

    db.foo.help()

    建立数据库

    use db1
    然后建立表,并插入数据,这样就相当于建立了一个数据库

    删除数据库
    use db1
    db.dropDatabase();



    建立数据表

    db.foo.insert({'uid':123});

    这样就相当于建立数据表,并插入了一条记录

    db.createCollection('foo');


    删除表

    db.foo.drop();



    插入数据

    db.foo.insert({'uid':123,'username':'sss'});
    db.foo.save({'uid':123,'username':'sss'});

    插入文档时,自动生成的键'_id',默认类型是ObjectId类型
    Insertsave的区别:如果插入的文档的_id值,集合中已经存在,用insert执行插入会报异常;用save,如果系统中没有相同的_id,就执行插入操作,有的话,就修改




    删除数据

    db.foo.remove();
    删除所有

    db.foo.remove({'uid':123})
    删除uid=123的记录





    五、查询


    db.foo.findOne();
    查询单条记录

    db.foo.find({},{})

    第一个参数:条件文档
    第二个参数:返回值文档

    db.foo.find({'uid':123},{'uid':true});

    db.foo.find({'uid':123},{'uid':1})



    六、更新

    db.foo.update({},{},args1,args2)

    1,条件文档
    2,修改器文档
    3,upsert  (表示,如果有的话,则更新,没有的话,就插入;   默认 false )
    4,multi   (mongodb默认只更新匹配的第一条数据,此参数为真时,表示更新全部;  默认false)

    一般都是 db.foo.update({},{},0,1)



    这是凭着自己的理解写下来的,有很多不足之处,后续还会补充添加。。。

    本文并不是详细介绍mongodb概念的文章,只是把一些基本特性以及语法特点记录下来,以备查看。。。

  • 相关阅读:
    JSON学习笔记-5
    JSON学习笔记-4
    JSON学习笔记-3
    JSON学习笔记-2
    JSON学习笔记-1
    stm32f103各个型号芯片之间程序移植(stm32的兼容问题)
    如何找回微信小程序源码?2020年微信小程序反编译最新教程 小宇子李
    git常用命令
    304 怎么办 怎么解决 缓存解决
    微信小程序 CSS border-radius元素 overflow:hidden失效问题 iPhone ios 苹果兼容问题 伪类元素
  • 原文地址:https://www.cnblogs.com/fanfan259/p/2971469.html
Copyright © 2011-2022 走看看