Mongdb基本操作
来源:互联网 发布:故事板 mac 编辑:程序博客网 时间:2024/04/29 16:45
简介
MongoDb就是一种Nosql类型的产品。是一种面向文档的数据库!
使用
下载安装包,网站https://www.mongodb.org
以管理员的方式打开cmd,进入mongodb下面的bin目录下面
mongod.exe --install --dbpath F:\mongodb\data --logpath F:\mongodb\log.txt
打开服务窗口并启动
services.msc
找到MongoDB这项服务并把他启动
基本操作
1.连接Mongodb服务器
F:\mongodb\bin\mongo.exe
然后可以查看到下面有
connecting to: test #这就是当前连接的数据库的名字
2.在客户端可以直接执行JavaScript脚本来操作数据库
3.帮助系统
show dbs:显示数据库
Help:系统级别的帮助
Db.help():数据库级别的帮助
Db.xx.help():集合级别的帮助[集合=表]
4.Mongodb中的Db变量代表当前数据库
>db
test#当前数据库
5.无模式的数据库
- Mongodb是无模式的数据库:可以不用创建数据库和集合而直接使用!集合没有结构!
MongoDb的CURD
- 插入新纪录
向shop数据库中的商品集合中插入一件商品
>db.goods.insert( {'goods_name':'goods_2','shop_price':200} )
说明:Mongodb中一条记录使用Json格式来表示。
在插入一条记录是会为每条记录添加一个id字段用来唯一标识这条记录。
>db.goods.find()
{ "_id" : ObjectId("58fe26f4c08b6e2772287fa6"), "goods_name" : "goods_2", "shop_price" : 200 }
2.查询出所有的记录
>db.goods.find()
{ “_id” : ObjectId(“58fe22f1e24d5f0ae8c00403”), “goods_name” : “goods_1”, “shop_price” : 200 }
{ “_id” : ObjectId(“58fe26f4c08b6e2772287fa6”), “goods_name” : “goods_2”, “shop_price” : 200 }
3.修改一条记录
把价格为100元的商品修改为300元:
流程:A. 取出这件商品 B. 修改价格 C. 存回去
>var g_100=db.goods.findOne( {'shop_price':100} )
>g_100.shop_price=300
300
> db.goods.save(g_100)
4.删除记录
db.goods.remove({'shop_price':300})
5.查询操作符
查询所有价格小于200元的
db.goods.find( {‘shop_price’: {“$lt”:220} } )
{ “_id” : ObjectId(“58fe22f1e24d5f0ae8c00403”), “goods_name” : “goods_1”, “shop_price” : 200 }
常用操作符
php操作MongoDB
先为PHP安装Mongodb的扩展
下载扩展文件php_mongo.dll
选择合适的扩展文件
看phpinfo里面版本和
把php_mongo.dll文件复制到php扩展目录中
修改php.ini在文件中添加一行 extension=php_mongo.dll
重启apache
老的php版本
php7
PHP7 连接 MongoDB 语法如下:
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
插入数据
将 name 为”菜鸟教程” 的数据插入到 test 数据库的 runoob 集合中。
$bulk = new MongoDB\Driver\BulkWrite;$document = ['_id' => new MongoDB\BSON\ObjectID, 'name' => '菜鸟教程'];$_id= $bulk->insert($document);var_dump($_id);$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);$result = $manager->executeBulkWrite('test.runoob', $bulk, $writeConcern);
读取数据
这里我们将三个网址数据插入到 test 数据库的 sites 集合,并读取迭代出来:
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); // 插入数据$bulk = new MongoDB\Driver\BulkWrite;$bulk->insert(['x' => 1, 'name'=>'菜鸟教程', 'url' => 'http://www.runoob.com']);$bulk->insert(['x' => 2, 'name'=>'Google', 'url' => 'http://www.google.com']);$bulk->insert(['x' => 3, 'name'=>'taobao', 'url' => 'http://www.taobao.com']);$manager->executeBulkWrite('test.sites', $bulk);$filter = ['x' => ['$gt' => 1]];$options = [ 'projection' => ['_id' => 0], 'sort' => ['x' => -1],];// 查询数据$query = new MongoDB\Driver\Query($filter, $options);$cursor = $manager->executeQuery('test.sites', $query);foreach ($cursor as $document) { print_r($document);}
输出结果为:
stdClass Object( [x] => 3 [name] => taobao [url] => http://www.taobao.com)stdClass Object( [x] => 2 [name] => Google [url] => http://www.google.com)
更新数据
接下来我们将更新 test 数据库 sites 集合中 x 为 2 的数据:
$bulk = new MongoDB\Driver\BulkWrite;$bulk->update( ['x' => 2], ['$set' => ['name' => '菜鸟工具', 'url' => 'tool.runoob.com']], ['multi' => false, 'upsert' => false]);$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);$result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
接下来我们使用 “db.sites.find()” 命令查看数据的变化,x 为 2 的数据已经变成了菜鸟工具:
删除数据
以下实例删除了 x 为 1 和 x 为 2的数据,注意 limit 参数的区别:
$bulk = new MongoDB\Driver\BulkWrite;$bulk->delete(['x' => 1], ['limit' => 1]); // limit 为 1 时,删除第一条匹配数据$bulk->delete(['x' => 2], ['limit' => 0]); // limit 为 0 时,删除所有匹配数据$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);$result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
更多使用方法请参考:http://php.net/manual/en/book.mongodb.php。
权限
默认情况下mongodb是没有开户权限所以任何人不需要用户名密码就可以连接上数据库。
流程:
1. 要先在mongodb中创建好管理员账号
2. 有了管理员之后再重新安装并开启权限系统
创建管理员
例1. 添加超级管理员
例2. 向jxshop数据库中添加一个管理员
- 重新安装mongodb,安装时添加—auth参数开启权限
2.1删除mongodb
2.2重新安装添加—auth参数
到此权限开启了!!现在只有登录之后才能访问。
登录之后:
普通管理员只能操作这一个数据库
超级管理员除外,可以操作任何数据库:
超级管理员登录:
扩展:管理员管理相关命令:
- NoSql---MongDB基本操作
- Mongdb基本操作符
- Mongdb基本操作
- mongdb之集合基本操作
- 在Ubuntu下安装Mongdb,以及Mongdb基本操作命令
- mongDB的基本操作之数据写入和查询
- MongDB的安装和基本操作 一(权限设置)
- mongdb 基本使用
- MongDB 基本简介
- mongdb的基本使用
- mongdb的基本使用
- MongDB基本语句
- PHP操作mongdb(1)----连接mongdb
- mongdb操作数组字段
- java操作mongdb
- mongdb用户名密码操作
- mongdb操作笔记
- mongdb文档操作
- HuffmanTree的实现及Huffman编码
- linux中强大且常用命令:find、grep
- CEF简介
- path与publicPath的区别
- 如何在Linux中装QT(ubuntu)
- Mongdb基本操作
- java集合类原理分析
- 水波特效c#实现
- 每天一个linux命令(43):killall命令
- 关于数据库的分库分表
- 移动端缓存性能和加载速度优化
- Oracle中常用的几个函数及null处理
- 条件判断
- hashmap的key排序--还不懂