目录
0.为什么要做这个组件:
实际开发过程中,在用到mongodb时,需要后端语言来回编写业务逻辑,耗时耗力,通过吧mongdb服务rest化,可直接由web前端开发快速调用,实现系统,完全不需要后端参与.
1.打包exe双击运行控制台如下:
基于beego+go.mongodb.org/mongo-driver/mongo实现mongodb数据库操作rest服务,小项目的开发完全不需要后端参与,已在生产环境使用,高效稳定,支持get/post请求,并提供aes加密模式和非加密模式,
2.支持操作:
find(collection, filter, projection ,sort,collation,limit,index)
findOneAndUpdate(collection, filter, update, projection)
deleteMany(collection, filter)
insertMany(collection, insert)
updateMany(collection, filter, update)
count(collection,filter)
aggreate(collection,filter) db.getCollection('账号').aggregate([{ "$match": { "状态": { "$in": [ "正常", "可提号" ] } } },{"$group" : {"_id" : "$状态", "sum" : {"$sum" : 1}}}])
bulkWrite(collection, updates) @updates `{"主机名": "0%d"},{ "$set": { "主机名": "0%d" }}_{"主机名": "0%d"},{ "$set": { "主机名": "0%d" }}`
createUnique(collection 集合名,key 字段名)
3.调用规范
//find操作
http://1.1.1.1:8081/mongo?db=spidermoney&action=find&collection=ai_qx_team&filter={"phone":{"$regularExpression":{"pattern":"87","options":""}}}&collation={"locale": "zh", "numericOrdering":true}&limit=1
http://localhost:8888/mongo?db=dbname&action=find&projection={"碎":true,"密":true,"取号时间":true,"石投":true,"等级":true,"_id":false,"账号":true,"问问":true,"区域":true,"对战":true,"状态":true,"冒险1":true,"配置":true,"金币":true}&collection=账号&filter={"状态":"进行中","设备":"1234"}&limit=1
----------------------------------------------------------------------------------------
//findOneAndUpdate操作
http://localhost:8888/mongo?db=dbname&action=findOneAndUpdate&filter={"账号":"3097493634"}&update={"$set":{"账号":"3097493635"}}&projection={"_id": false}&sort={"threadId":-1,"url":1}
http://localhost:8888/mongo?db=dbname&action=findOneAndUpdate&filter={"title":"找不到"}&update={"$set":{"title":"找不到2"}}&projection={"_id": false}&collection=domains
--------------------------------------------------------------------------------------
//deleteMany操作
http://localhost:8888/mongo?db=dbname&action=deleteMany&filter={"账号":"1571388960"}
--------------------------------------------------------------------------------------
//insertMany操作
http://localhost:8888/mongo?db=dbname&action=insertMany&insert=[{"主机名" : "01","窗口" : "17","使用者" : "01-17"},{"主机名" : "01","窗口" : "17","使用者" : "01-17"},{"主机名" : "01","窗口" : "17","使用者" : "01-17"}]&collection=wokong
-------------------------------------------------------------------------------------
//updateMany操作
http://localhost:8888/mongo?db=dbname&action=updateMany&filter={"账号":"871555069"}&collection=账号&update={"$set":{"密码":"abcd1234"}}
--------------------------------------------------------------------------------------
//计算数量count操作
http://localhost:8888/mongo?db=dbname&action=count&filter={"title":"找不到3"}&collection=domains
------------------------------------------------------------------------------------
//aggreate
传递db, collection, filter
-----------------------------------------------------------------------------------
//bulkWrite操作
http://localhost:8888/mongo?db=dbname&action=bulkWrite&updates={"主机名": "01"}>-<{ "$set": { "窗口": "555" }}<->{"主机名": "01"}>-<{ "$set": { "主机名": "fuck" }}&collection=wokong
---------------------------------------------------------------------------------------
//createUnique创建索引操作
http://localhost:8888/mongo?db=dbname&action=createUnique&key=窗口&collection=yuhang
3.rest服务调用样例
4.沟通交流
微信6686496