1. 安装
官方下载地址:https://www.mongodb.org/dl/linux/x86_64-rhel62
我们下载的mongodb是社区版的,已经帮我们编译好,因此不需要我们在此编译,我们只需将下载的文件解压后移动到安装目录即可,比如:移动到/usr/local/mongodb。
show dbs / show databases 查看数据库
show tables / show collections 查看表的列表
use tableName 切换数据库
db.help() 查看命令帮助
db.tableName.drop() 删除tableName表,tableName为表名称
db.dropDatabase() 删除当前切换到的数据库
db.createCollection(tableName) 创建表
隐式添加:
如果下级结构添加了,那么上级结构自动也被添加
比如:我在一个不存在的数据库下创建了一张表,那么这个数据库会被自动创建。数据表也支持隐式创建
插入数据
db.tableName.insert()
例1:往user表插入一条
db.user.insert({‘name‘:‘shusheng‘})
db.user.insertOne({‘name‘:‘shusheng‘})
例2:往user表插入多条
db.user.insert([{‘name‘:‘郭昌松‘,‘age‘:20},{‘name‘:‘李志友‘,‘girl‘:[‘李文斌,李志光‘]}])
db.user.insertMany([{‘name‘:‘郭昌松‘,‘age‘:20},{‘name‘:‘李志友‘,‘girl‘:[‘李文斌,李志光‘]}])
查询数据
db.tableName.find(where)
where:查询条件,可选
操作 |
格式 |
范例 |
RDBMS中的类似语句 |
等于 |
{<key>:<value>} |
db.col.find({"by":"菜鸟教程"}).pretty() |
where by = ‘菜鸟教程‘ |
小于 |
{<key>:{$lt:<value>}} |
db.col.find({"likes":{$lt:50}}).pretty() |
where likes < 50 |
小于或等于 |
{<key>:{$lte:<value>}} |
db.col.find({"likes":{$lte:50}}).pretty() |
where likes <= 50 |
大于 |
{<key>:{$gt:<value>}} |
db.col.find({"likes":{$gt:50}}).pretty() |
where likes > 50 |
大于或等于 |
{<key>:{$gte:<value>}} |
db.col.find({"likes":{$gte:50}}).pretty() |
where likes >= 50 |
不等于 |
{<key>:{$ne:<value>}} |
db.col.find({"likes":{$ne:50}}).pretty() |
where likes != 50 |
例1:db.member.find({name:‘baba‘})
查询name=‘baba‘的记录
例2:db.member.find({name:‘baba‘,age:30})
查询name=‘baba‘并且age=30的记录
例3:db.member.find({age:{$lt:26}})
查询age小于26的记录
例4:db.member.find({age:{$lt:26,$gt:20}})
查询age大于20小于26的记录
附:以格式化后的结构展示查询结果
db.tableName.find(where).pretty()
删除数据
db.member.remove(where,justOne)
where:删除的条件表达式
justOne:当符合条件的文档有多条时,为true只删除一条记录,为false表示全部删除,默认为false
更新数据
基本语法:db.tableName.update(where,data,upsert,multi)
where:条件表达式(更新的条件)
data:要更新的数据
upsert:为true时,表示如果根据查询条件表达式找不到记录,则将准备更新的数据插入到表中作为一条新记录,默认为false
multi:默认为false,表示只更新符合条件的一条记录,如果为true时,表示更新所有的符合条件的记录,该参数必须在含有$操作下才生效
例子的数据准备:db.member.insert({name:‘baba‘,age:30,sex:‘男‘,‘money‘:999999999})
默认情况下,update会覆盖整个文档(整条记录内容)
例1:db.member.update({name:‘baba‘},{‘money‘:99999999998})
执行完上面的操作,整条记录会变成:{‘money‘:99999999998}
只更改部分字段值
db.tableName.update(条件表达式,{$set:修改的内容})
例2:db.member.update({name:‘baba‘},{$set:{‘money‘:99999999998}})
执行完上面的操作,整条记录会变成:{name:‘baba‘,age:30,sex:‘男‘,‘money‘:99999999998}
例3:第三个参数的使用例子
db.member.update({name:‘bingbing‘},{name:‘libingbing‘,age:40},true)
如果根据{name:‘bingbing‘}找不到符合条件的记录,则将{name:‘libingbing‘,age:40}插入到数据表中作为一条新记录。
例4:第四个参数的使用例子
正确使用方法:db.member.update({name:‘小锅‘},{$set:{name:‘火锅‘,age:3}},false,true)
错误使用方法:db.member.update({name:‘小锅‘},{name:‘火锅‘,age:3},false,true)
php操作mongodb
扩展地址:http://pecl.php.net/package/mongo
文档:http://php.net/manual/zh/class.mongoclient.php
网友提供:http://www.runoob.com/mongodb/mongodb-php.html
链接】PHP7MongDB安装与使用:
http://www.runoob.com/mongodb/php7-mongdb-tutorial.html
Mongodb的增删改查:
<?php
$manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017");
//print_r($manager);
//查询
/*
//查询条件
$filter = ["name"=>‘shuaige‘];
$query = new MongoDB\Driver\Query($filter);
$cursor = $manager->executeQuery(‘yyy.user‘, $query);
foreach ($cursor as $document) {
print_r($document);
}
*/
//插入数据
/*
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert([‘name‘=>‘zzz‘,‘age‘=>18]);
$bulk->insert([‘name‘=>‘zsy‘,‘age‘=>17]);
$res = $manager->executeBulkWrite(‘yyy.user‘, $bulk);
print_r($res);
*/
//更新
/*
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update([‘name‘=>‘zzz‘],[‘$set‘=>[‘girl‘=>‘LYF‘]]);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite(‘yyy.user‘, $bulk, $writeConcern);
print_r($result);
*/
//删除
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->delete([‘name‘=>‘shuaige‘]);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite(‘yyy.user‘, $bulk, $writeConcern);
print_r($result);
Mangodb的服务启动:
./bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/logs/log --bind_ip=0.0.0.0 --fork
原文地址:https://www.cnblogs.com/yujianni/p/9200978.html