表(Table)凑集(Collection)
行(Row)文档(Document)
列(Col)字段(Field)

主键(Primary Key)工具 ID(Objectid)
索引(Index)索引(Index)
安装本文以windows环境安装测试。
下载官网:
https://www.mongodb.com/
在这里插入图片描述
在这里插入图片描述
步骤• 点击“NEXT”• 勾选赞许协议,点击“Next"
• 选择自定义安装
• 安装完成打开软件laravel 操作mango
首先须要你确定是否安装php mongodb的扩展,在phpinfo里面查看。还须要扩展对应composer包的版本
本文环境 php8.0.2/MongoDB 5.0.5/laravel9/composer 2.2.6
安装laravel-mongodb在项目根目录实行:
composer require mongodb/laravel-mongodb
此处如果php mongodb的扩展不匹配会安装失落败,此处须要mongodb的扩展,1.12以上
在这里插入图片描述
而我的版本是1.11
在这里插入图片描述
重新安装扩展,辞官网下载扩展
https://windows.php.net/downloads/pecl/releases/mongodb/
找到对应的扩展,下载,然后安装好扩展,把稳php版本,nts和ts的差异
在这里插入图片描述
再进行composer下载
composer require mongodb/laravel-mongodb:^3.9 -vvv
在这里插入图片描述
利用laravel-mongodb的中文官方文档:https://www.mongodb.com/zh-cn/docs/drivers/php/laravel-mongodb/current/
• 变动配置在env文件中写入以下配置
#mangodb 连接DB_CONNECTION=mongodbMONGODB_HOST=127.0.0.1MONGODB_POST=27017MONGODB_DB=test
• 创建provider找到laravel的根目录下面的config目录,打开app.php文件,在providers数组里面,添加以下代码:
Jenssegers\Mongodb\MongodbServiceProvider::class
由于我上面安装的laravel-mongodb:^3.9 版本的,在4.0以前的版本,laravel-mongodb这个包叫:jenssegers/mongodb 以是在添加provider的时候须要把稳引入名称。
在这里插入图片描述
• 创建模型在Models目录下面创建animal.php文件,写入以下代码:
<?phpnamespace App\Models;//mongodb的模型,把稳laravel-mongodb4.0以下的版本,命名空间的问题use Jenssegers\Mongodb\Eloquent\Model;class Animal extends Model{ //连接类型 protected $connection = 'mongodb'; //须要批量更新和写入的字段 protected $fillable = ['name', 'age', 'sex', 'hobby'];}
• 编写curd
在掌握器中添加一个测试类,编写逻辑
<?phpnamespace App\Http\Controllers;use App\Models\Animal;use Illuminate\Routing\Controller as BaseController;class TestController extends BaseController{ public function create(){ //创建数据 $data=[ 'name'=>'狗', 'age'=>2, 'sex'=>1, 'hobby'=>'吃骨头' ]; Animal::query()->create($data); } public function show(){ //查询数据 $data=Animal::query()->where('name','狗')->first(); $data=Animal::query()->where('_id','663c2baa3d76000021004822')->first(); dd($data); } public function uppdate(){ //更新数据 Animal::query()->where('_id','663c2baa3d76000021004822')->update([ 'name'=>'小狗' ]); } public function delete(){ //删除数据 Animal::query()->where('_id','663c2baa3d76000021004822')->delete(); }}
可以在mongodb可视化软件里面查看数据
在这里插入图片描述