码迷,mamicode.com
首页 > 数据库 > 详细

Mangodb的安装与配置

时间:2018-06-19 21:28:38      阅读:1183      评论:0      收藏:0      [点我收藏+]

标签:val   https   driver   ups   使用   文档   一个   bms   x86_64   

1. 安装
 
我们下载的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
 
链接】PHP7MongDB安装与使用:
 
 
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

 
 
 
 
 

Mangodb的安装与配置

标签:val   https   driver   ups   使用   文档   一个   bms   x86_64   

原文地址:https://www.cnblogs.com/yujianni/p/9200978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!