美文网首页我爱编程
mongodb 小体验 持续更新

mongodb 小体验 持续更新

作者: jiangadam | 来源:发表于2017-02-07 22:36 被阅读77次

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

安装

  1. 安装mongodb
  1. 创建数据库的目录
  • mkdir -p /data/db
  • chmod 给数据库目录权限
  1. 启动mongodb服务
  • 如果你的数据库目录不是/data/db 需要用--dbpath指定数据库目录
  • /usr/local/mongodb/bin/mongod 启动mongodb服务,但是终端窗口关闭以后服务就会停止
  • 后台启动服务,创建文件 /data/mongodb.conf
dbpath=/data/db   # 数据库目录
logpath=/data/mongodb.log # 日志文件
logappend=true # 追加日志
fork=true # 后台启动服务
port=27017    # 端口
  • 启动服务 /usr/local/mongodb/bin/mongod -f /data/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 58158
child process started successfully, parent exiting

代表服务已经启动

  • 关闭后台启动的服务只需要删除/data/db目录下的mongod.lock文件即可

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);

相关文章

网友评论

    本文标题:mongodb 小体验 持续更新

    本文链接:https://www.haomeiwen.com/subject/utkmmttx.html