mongodb 的安装和使用

Posted on 2015-06-28 09:12  小蕊同学  阅读(539)  评论(0编辑  收藏  举报
官方网址 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:\mongodb\bin
   i:\mongodb\data  此目录如果不存在就建立

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

临时启动mongod 服务器。窗口不能关闭。
I:\mongodb\bin>mongod --storageEngine=mmapv1 --dbpath i:\mongodb\data --journal --logpath i:\mongodb\log\log.txt

4、安装服务器
mongodb\bin>mongod 
--install 
--serviceName mongodb 
--logpath i:\mongodb\log\log.txt 
--logappend 
--dbpath i:\mongodb\data 
–directoryperdb

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

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


mongod --install --serviceName mongodb --storageEngine=mmapv1 --dbpath f:\mongodb\data --directoryperdb --journal --logpath f:\mongodb\log\log.txt --logappend
mongod --remove --serviceName mongodb --storageEngine=mmapv1 --dbpath i:\mongodb\data --directoryperdb --journal --logpath i:\mongodb\log\log.txt --logappend

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

卸载服务
mongod --remove --serviceName mongodb --storageEngine=mmapv1 --dbpath i:\mongodb\data --journal --logpath i:\mongodb\log\log.txt




登录mongo数据库服务器

i:\mongodb\bin>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:\mongodb\data --journal --logpath i:\mongodb\log\log.txt

   mongod.exe --storageEngine defaults --dbpath i:\mongodb\data --journal --logpath i:\mongodb\log\log.txt
   mongod.exe --storageEngine wiredTiger --dbpath i:\mongodb\data --journal --logpath i:\mongodb\log\log.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. }







Copyright © 2024 小蕊同学
Powered by .NET 8.0 on Kubernetes