使用docker建置的yapi 操作mongodb資料庫

背景:我會將部分介面一起除錯,然後再將除錯的介面放入組中如下圖 但是 會遇到一個問題,temp集合中 不能多個拖動,只能單個拖動,單個拖動就特別麻煩,還是亂序的,所以我想著,改資料庫統一來換測試集

只會關係型資料庫,所以對mongodb的了解不是很多,網上搜到的概念:

MongoDB是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。它支援的資料結構非常鬆散,是類似於Json的bson 格式

正式開始:

mongodb的啟動命令:docker run -p 27017:27017 -v /data/db:/data/db --name docker_mongodb -d mongo

yapi的啟動命令:docker run -d --name yapi --link docker_mongodb:mongo --workdir /api/vendors -p 3000:3000 registry.cn-hangzhou.aliyuncs.com/anoy/yapi server/app.js

寫出啟動命令是介紹為啥後面用docker_mongodb的原因。啟動mongo時,--name就是docker_mongodb

1.進入mongodb的容器:

docker exec -it docker_mongodb sh

2.連結mongo

命令列輸入mongo

顯示所有資料庫: show dbs

根據網址顯示 某個測試集合的url:/project/37/interface/col/303

說明 每個測試集合的用例都在 上圖 interface_col集合中

test測試集合中時沒有測試用例的 它的interface_col是303

☆☆☆現在需要把temp測試集合中key為1814的介面,移動到test測試集合中

執行完命令後 等五秒或者重新整理一下頁面 資料就同步了,如圖:

我們去interface_case的集合中看下1814的結構是怎麼樣的

如上圖,我們只需要將col_id的值改成對應的col_id就可以了

說一下mongodb的敘述

db.interface_col.find() 搜尋interface_col集合(表)的所有資料

相當於select * from interfac_col

db.interface_case.update({_id:1814},{$set:{"col_id":303}}) 將interface_case集合(表)的 _id 為1814的資料的col_id改為303

相當於:update interface_case set col_id=303 where _id=1814