zoukankan      html  css  js  c++  java
  • mongodb 的安装和使用

    官方网址 http://www.mongodb.org

    1、下载mongodb-win32-i386-latest.zip 解压
    mongodb 3.1.5 需要 win7 下 下载安装内存补丁
    https://support.microsoft.com/zh-cn/hotfix/kbhotfix?kbnum=2731284&kbln=zh-cn


    2、解压到i:mongodb 目录下 目录结构如下
       i:mongodbin
       i:mongodbdata  此目录如果不存在就建立

    3、命令控制台 
       mongod.exe --version 查看服务程序的版本号

    临时启动mongod 服务器。窗口不能关闭。
    I:mongodbin>mongod --storageEngine=mmapv1 --dbpath i:mongodbdata --journal --logpath i:mongodbloglog.txt

    4、安装服务器
    mongodbin>mongod 
    --install 
    --serviceName mongodb 
    --logpath i:mongodbloglog.txt 
    --logappend 
    --dbpath i:mongodbdata 
    –directoryperdb

    安装mongodb服务进程
    mongod.exe  --install --serviceName mongodb --storageEngine=mmapv1 --logpath f:mongodbloglog.txt --logappend --dbpath f:mongodbdata -directoryperdb --journal
    mongod.exe  --remove --storageEngine=mmapv1 --serviceName mongodb --logpath i:mongodbloglog.txt --logappend --dbpath i:mongodbdata -directoryperdb --journal

    mysqld mongod 主进程
    mysql mongo 客户端
    安装服务
    mongod --install --serviceName mongodb --storageEngine=mmapv1 --dbpath f:mongodbdata   --journal --logpath f:mongodbloglog.txt


    mongod --install --serviceName mongodb --storageEngine=mmapv1 --dbpath f:mongodbdata --directoryperdb --journal --logpath f:mongodbloglog.txt --logappend
    mongod --remove --serviceName mongodb --storageEngine=mmapv1 --dbpath i:mongodbdata --directoryperdb --journal --logpath i:mongodbloglog.txt --logappend

    停止 net stop mongodb
    卸载服务 mongod --remove --serviceName mongodb
    启动 net start mongodb

    卸载服务
    mongod --remove --serviceName mongodb --storageEngine=mmapv1 --dbpath i:mongodbdata --journal --logpath i:mongodbloglog.txt




    登录mongo数据库服务器

    i:mongodbin>mongo 回车

    >db.version();

    >cls 清屏命令

    建立数据库

    use 数据库;
    db.集合名.save({sanem:'李四',sage:18,saddress:"郑州"});
    db.集合名.find();  select * from 表名;

    show dbs;   查看所有的数据库

    show tables;两者是相等的
    show collections;

    db.stu.save({name:"李四",age:22,address:"郑州市"});
    db.stu.save({name:"赵六",age:22,address:"郑州市"});
    db.stu.save({name:"张三",age:22,address:"郑州市"});
    db.stu.save({name:"张三丰",age:22,address:"郑州市"});
    db.stu.save({name:"李勇",age:22,address:"郑州市"});



     mongod --dbpath i:mongodbdata --journal --logpath i:mongodbloglog.txt

       mongod.exe --storageEngine defaults --dbpath i:mongodbdata --journal --logpath i:mongodbloglog.txt
       mongod.exe --storageEngine wiredTiger --dbpath i:mongodbdata --journal --logpath i:mongodbloglog.txt
       mongod --storageEngine wiredTiger --dbpath i:/mongodb/data

    Hotfix KB2731284 or later update is not installed, will zero-out data files



    db.student.find(); 查看student表里面的数据

    查看表/集合的状态
    查看库的状态




    查询总记录数

    查看帮助

    删除数据库的信息及表格

    主键冲突,save,直接覆盖,insert 主键冲突不可以插入
    > db.user.remove({}); 清除user集合中的所有文档
    > db.user.remove({_id:5});
    > db.user.remove({account:'rrrt'});

     db.user.remove({ "_id" : ObjectId("558e42ca6c8b9206ccef1a7d")}); 删除系统自创的id数据
    数据的查询
    db.user.find(); 相当于 select * from user;
    db.user.find({条件区域},{要显示的属性字段}); 
    db.user.find({条件区域},{account:1,_id:false});  查询的结果只显示id和账号;

    1true,0false;

    db.user.find({_id:($gt:3)});
    $lte 小于等于
    $lt 小于
    $gt  大于
    $gte 大于等于
    > db.user.find({_id:{$gt:1}});


    查询a开头的账号
    > db.user.find({account:/^a.*$/});
    相当于
    select * from user where account like 'a%';

    > db.user.find({account:/a/});查找包含a的
    select * from user where account like '%a%';
    双条件查询
    > db.user.find({_id:5,account:'aa'});
    相当于
    select * from user where _id=4 and account='aa';
     db.user.save({account:'c3',age:20});
     db.user.save({account:'a2',age:18});
     db.user.save({account:'a1',age:18});
    查询账号等于a1,或者年龄大于等于18的
    db.user.find({$or:[{account:'a1'},{age:{$gte:18}}]});
    删除年龄大于等于25岁的
    > db.user.remove({age:{$gte:25}});
    显示3条记录
    > db.user.find().limit(3);
    > db.user.find().limit(2).skip(2);一页2两条,显示第二页
    数据的修改
    ,第一组条件,第二组改什么

    > db.user.update({account:'a1'},{$set:{account:'myroot'}});
    > db.user.update({_id:5},{$set:{account:'www',password:'111'}});
    默认情况下只修改一条记录
    > db.user.update({account:'a1'},{$set:{account:'abc'}});
    multi:true  修改多个文档结果
    > db.user.update({account:'a1'},{$set:{account:'abc'}},{multi:true});
    年龄全部修改为88
    > db.user.update({},{$set:{age:88},{multi:true}});
    每个人的成绩加一
    > db.user.update({},{$inc:{age:1}},{multi:true});
    统计账号名称中,含有b字母的文档总数
    相当于
    select count(*) from user where account like '%b%';
    > db.user.find({account:/b/});
    { "_id" : ObjectId("558e49a06c8b92
    > db.user.find({account:/b/}).coun
    1
    给所有的用户加爱好,添加一个字段,属性love
    > db.user.update({},{$set:{love:['音乐','有戏']}},{multi:1});

    删除其中的一列 文档的属性  $unset
    > db.user.update({},{$unset:{password:1}},{multi:1});
    修改数组里面的元素
    添加一列$push $addToSet 都是加入
    > db.user.update({_id:5},{$push:{love:'打打'}});
    > db.user.update({_id:5},{$addToSet:{love:'打'}});
    移除数组中最后一个元素
    > db.user.update({_id:5},{$pop:{love:1}});
    删除id:5 的音乐
    > db.user.update({_id:5},{$pull:{love:'音乐'}});


    > db.createCollection('aa');
    { "ok" : 1 }
    建空表
    删空表在
    > db.aa.drop();

    批量执行js脚本直接编写js 建库建表
    var conn= new Mongo();
    //建库  mydb库
    var mydb=conn.getDB('mydb');
    //建表hnsc_link
    mydb.hnsc_link.save({title:'百度',url:'http://www.baidu.com',img:null,flg:true});
    > load('d:/a.js'); //引入
    true
    > db;

    建立空表
    > db.createCollection('ccc');
    { "ok" : 1 }

    删除cc表
    > db.ccc.drop();
    true
    php配合mogodb驱动的下载
    http://docs.mongodb.org




    http://pecl.php.net/package/mongo
    1、下载 php_mongo-1.6.9-5.6-ts-vc11-x86.zip

      解压 复制php_mongo.dll 到i:/php/ext/目录下

    2、打开php.ini文件添加如下
    php_mongo.dll

    3、修改apche/conf/httpd.conf

    <Directory />
        AllowOverride none
        Require all granted
    </Directory>

    #### CGI模式 配置支持 ####
    ScriptAlias /php/ "i:/php/"
    AddType application/x-httpd-php .php
    Action application/x-httpd-php "/php/php-cgi.exe"



    <?php
    //phpinfo();
    $m = new MongoClient(); // 连接
    $db = $m->mydb;
    $c = $db->hnsc_link->find();
    foreach($c as $doc){
    echo $doc['title'];
    }
    php -m说缺少的dll文件,是因为php.ini里面的文件开的太多,没用的一定要去掉,提示的错误为日志错误
    pdo 连接 mongodb
    1. <?php
    2. $m = new MongoClient();
    3. $db = $m->abc;
    4. $coll = $db->user;
    5. $c = $coll->find([]);
    6. foreach ($c as $doc){
    7. echo $doc['account'].'<br>';
    8. }







  • 相关阅读:
    索引在什么情况下遵循最左前缀的规则?
    MySQL索引种类
    简述触发器、函数、视图、存储过程?
    6.Class 与 Style 绑定
    2.Javascript 函数(主要)
    Java的string类
    PHP+mysql注入的基本过程
    Android自动化测试Emmagee
    EclEmma的介绍、安装与使用
    软件测试方法
  • 原文地址:https://www.cnblogs.com/lsr111/p/4605108.html
Copyright © 2011-2022 走看看