我爱编程

mongodb 小体验 持续更新

2017-02-07  本文已影响77人  jiangadam

自己电脑是Mac,装了VM虚拟机,所以mongodb装在虚拟机的Ubuntu里面

安装

  1. 安装mongodb
  1. 创建数据库的目录
  1. 启动mongodb服务
dbpath=/data/db   # 数据库目录
logpath=/data/mongodb.log # 日志文件
logappend=true # 追加日志
fork=true # 后台启动服务
port=27017    # 端口
about to fork child process, waiting until server is ready for connections.
forked process: 58158
child process started successfully, parent exiting

代表服务已经启动

mac xampp 安装mongodb拓展

/Applications/XAMPP/xamppfiles/bin/pecl install mongo
# 会提示Cannot find autoconf. Please check your autoconf installation and the
# $PHP_AUTOCONF environment variable. Then, rerun this script.
# ERROR: `phpize' failed

# 首先安装 autoconf
brew install autoconf

# 再执行
/Applications/XAMPP/xamppfiles/bin/pecl install mongo

可能会出现 
# #include <openssl/evp.h>   1 error generated.

# 这时候安装mongodb拓展的时候需要加上openssl的目录,每个人的openssl的目录可能不一样
sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongodb --configure --with-openssl-dir=/usr/local/opt/openssl

#安装完成以后
增加 "extension=mongodb.so" 到 php.ini 文件

<?php
echo phpinfo(); 
# 查看mongodb拓展是否安装成功

使用

/usr/local/mongodb/bin/mongo  # 进入
show dbs # 显示当前所有的数据库
db # 当前正在使用的数据库
RDBMS   MongoDB
数据库 数据库
表格      集合
行       文档
列       字段
表联合     嵌入文档
主键   主键 (MongoDB 提供了 key 为 _id )

# mongodb 中的数据类型
String #存储字符串数据
Integer # 整型整值
Boolean # 布尔型
Double # 双精度浮点型
Min/Max keys # 将一个值与BSON(二进制的json)元素的最高值和最低中相对比
Arrays # 用户将数组或者列表或多个值存储为一个键
Timestamp #时间戳
Object # 用户内嵌文档
Null # 创建空置
Symbol # 符号
Date #日期类型
Object ID  # 对象ID
Binary Data # 二进制数据
Code # 代码类型 储存JavaScript代码
Regular expression # 正则表达式类型

### 创建数据库
use dbname # 创建数据库
show dbs # 显示当前所有的数据库,刚刚创建的数据库可能看不到,因为里面没有数据

use test
db.dropDatabase() # 删除当前的数据库
db.student.drop() # 删除当前的集合

db.student.insert({"name":"张三", "age":20}) # 插入数据

db.student.update({"age":20}, {$set:{"name":"张三"}})
# 只更新第一条记录:
db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
全部更新:
db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
# 只添加第一条:
db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
# 全部添加加进去:
db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
# 全部更新:
db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
# 只更新第一条记录:
db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );

PHP操作mongodb

<?php
// 新版mongodb使用这个方法连接mongodb
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
var_dump($manager);
上一篇 下一篇

猜你喜欢

热点阅读