zoukankan      html  css  js  c++  java
  • MongoDB笔记

    mongodb简介

    MongoDB 是一个基于分布式文件存储的数据库。存储的是Bson结构的文档(二进制的JSON),内部执行引擎为JS解释器,把文档存储为BSON结构,在查询时,转换为JS对象,可以通过JS语法来操作。表下的每篇文档都可以有自己独特的结构(可以理解为json对象都可以有自己独特的属性和值)。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

    MongoDB安装启动

    Linux下安装MongoDB和php MongoDB扩展

    #mkdir /data
    #cd /usr/local/src
    #wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.0.13.tgz?_ga=1.181140007.1839163961.1478316601
    # mv mongodb-linux-x86_64-rhel70-3.0.13.tgz?_ga=1.181140007.1839163961.1478316601 mongodb-linux-x86_64-rhel70-3.0.13.tgz
    #tar zxvf mongodb-linux-x86_64-rhel70-3.0.13.tgz
    #mv mongodb-linux-x86_64-rhel70-3.0.13 /app/local/mongodb
    #cd /app/local/mongodb
    # ./bin/mongod --dbpath=/data/ --logpath=/data/m17.log --fork --port 27017 --smallfiles
    


    表明MongoDB启动成功,接下来安装php MongoDB扩展
    参数解释:
    --dbpath 数据存储目录
    --logpath 日志存储文件
    --port 运行端口(默认27017)
    --fork 后台进程运行
    --smallfiles 占用较小空间的方式启动

    #cd /usr/local/src
    #wget https://pecl.php.net/get/mongodb-1.1.9.tgz
    #tar zxvf mongodb-1.1.9.tgz
    #cd mongodb-1.1.9.tgz
    #/app/local/php/bin/phpize
    #./configure --with-php-config=/app/local/php/bin/php-config
    #make && make install
    #cd ../
    #vim /app/local/php/etc/php.ini 
    添加extension=mongodb.so
    :x
    重启nginx
    

    如图所示,则表明mongodb扩展安装成功

    MongoDB基本命令

    首先来简单介绍下MongoDB bin目录下的一些可执行文件的作用

    进入mongodb客户端

    #cd /app/local/mongodb
    #./bin/mongo
    ...
    

    查看当前数据库

    ...
    >show databases;
    >show dbs;
    

    选库和查看库下面的表(或者叫集合)

    ...
    >use databaseName #选库
    >show tables/collections #查看当前库下的collection
    

    在MongoDB中,数据库可以隐式创建,可以use一个不存在的库, 然后在该库下创建collection,即可创建库
    语法:db.createCollection(‘collectionName’)

    ...
    >use myshop;
    >db.createCollection('user');
    >show dbs;
    

    同理,collection也可以隐式创建
    语法:db.collectionName.insert(document);

    ...
    >use test;
    >db.goods.insert({'title':'apple'});
    >show collections;
    

    删除collection
    语法: db.collectionName.drop()

    ...
    >db.goods.drop();
    >show collections;
    

    删除库
    语法:db.dropDatabase();

    ...
    >db.dropDatabases();
    >show databases;
    >
    

    MongoDB增删改查

    • 增:insert
      介绍: mongodb存储的是文档,. 文档是json格式的对象.
      语法:db.collectionName.isnert(document);
      可以增加一篇文档、增加一篇指定_id的文档和增加多篇文档
    ...
    >use myshop;
    >show collections;
    >db.goods.insert();
    

    • 删:remove
      语法: db.collection.remove(查询表达式, 选项);
      选项是指 {justOne:true/false},是否只删一行, 默认为false

    注意
    1: 查询表达式依然是个json对象
    2: 查询表达式匹配的行,将被删掉.
    3: 如果查询表达式为空对象{},collections中的所有文档将被删掉.

    ...
    >db.goods.remove({data:'999'});
    

    • 改:update
      语法: db.collection.update(查询表达式,新值,选项);
      修改时的赋值表达式
      $set 修改某列的值
      $unset 删除某个列
      $rename 重命名某个列
      $inc 增长某个列
      $setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段.
    ...
    >db.goods.update();
    

    • 查:find、findOne
      语法: db.collection.find(查询表达式,查询的列);
      db.collections.find(表达式,{列1:1,列2:1});
    ...
    >db.goods.find();
    

    MongoDB短网址实践

    未完待续。。。

  • 相关阅读:
    hdu3457(有向图的dp问题)
    nyoj16矩形嵌套(第一道dp关于dag的题目)
    noj1475(递推题)统计多少个1
    hdu1331(记忆化搜索)
    hdu1142(dj+记忆化搜索)
    hdu1978(记忆化搜索)
    用广搜实现的spfa
    hdu1428(记忆化搜索)
    hdu1078(记忆化搜索)
    poj3261(后缀数组)
  • 原文地址:https://www.cnblogs.com/weblm/p/6032984.html
Copyright © 2011-2022 走看看