一种基于sql语言的mongodb数据更新方法与流程

文档序号:35490069发布日期:2023-09-17 00:56阅读:34来源:国知局
一种基于sql语言的mongodb数据更新方法与流程

本发明涉及数据库,具体的,涉及一种基于mysql语言的mongodb数据更新方法。


背景技术:

1、mysql数据库是最流行的关系型数据库管理系统之一,也是最好用的关系数据库管理系统应用软件之一,但mysql却不能处理大规模数据更新问题,无法大规模分布式容灾部署。mongodb数据库是一种基于分布式文件存储的数据库,旨在为web应用提供可扩展的高性能数据存储解决方案。mysql数据库作为主流的应用软件,sql语言被广泛学习与应用,却无法被直接应用于mongodb数据库中,需要掌握专门的mongodb数据库操作,对研发人员要求高。


技术实现思路

1、本发明提出一种基于sql语言的mongodb数据更新方法,解决了相关技术中mongodb数据库操作不便的问题。

2、本发明的技术方案如下:包括:

3、获得元表、元字段表和主数据表,所述元表包括多条元表记录,任一条元表记录包括一个表名和至少一个表名属性;所述元字段表包括多条元字段记录,任一条元字段记录包括一个字段名和至少一个字段名属性;所述主数据表包括多条主数据记录,任一条主数据记录包括一个主数据值和至少一个主数据值属性;

4、在识别到sql语句执行时,解析语法树提取出所述sql语句中的操作字、表名、字段名和主数据值;

5、根据所述sql操作字将sql语句替换为对应的mongodb语句;

6、执行所述mongodb语句。

7、进一步,任一条元表记录还包括与表名对应的第一编号,任一条元字段记录还包括与字段名对应的第二编号,任一条主数据记录还包括与主数据值对应的第三编号;

8、在将sql语句替换为对应的mongodb语句之后,还包括:将所述表名替换为对应的第一编号、将所述字段名替换为对应的第二编号,将所述主数据值替换为第三编号。

9、进一步,所述sql语句为select语句,所述select语句中的sql操作字为select,对应的mongodb语句为:db.getcollection("第一编号").find({"data.第二编号": "第三编号"})。

10、进一步,所述sql语句为delete语句,所述delete语句中的sql操作字为delete,对应的mongodb语句为:db.getcollection("第一编号").remove({"data.第二编号":"第三编号"})。

11、进一步,所述sql语句为insert语句,所述insert语句中的sql操作字为insert,通过解析语法树提取得到所述sql语句中的表名、第一字段名、第二字段名、第一主数据值和第二主数据值,则对应的mongodb语句为:db.getcollection("第一编号").insert({"data.第一字段名对应的第二编号":"第一主数据值对应的第三编号","data.第二字段名对应的第二编号": "第二主数据值对应的第三编号"})。

12、进一步,所述sql语句为update语句,所述update语句中的sql操作字为update,通过解析语法树提取得到所述sql语句中的表名、第一字段名、第二字段名、第一主数据值和第二主数据值,对应的mongodb语句为:db.getcollection("第一编号").updatemany({data.第一字段名对应的第二编号:" 第一主数据值对应的第三编号"},{$set:{"data.第二字段名对应的第二编号": "第二主数据值对应的第三编号"}})。

13、进一步,所述元表、元字段表和主数据表通过图形化界面预先录入,并保存在mongodb中。

14、进一步,在识别到sql语句执行时,进行用户权限验证。

15、本发明的工作原理及有益效果为:

16、本发明将元表、元字段表、主数据表作为中间桥梁存储于mongodb数据库中,根据操作字完成sql语言到mongodb语言的转换,通过元表、元字段表和主数据表建立起表名,字段名、主数据值之间的约束关系,用于后续mongodb数据库的操作,这样就实现了sql语句对mongodb数据库的操作,给开发工作带来了便利。



技术特征:

1.一种基于sql语言的mongodb数据更新方法,其特征在于,包括:

2.根据权利要求1所述的基于sql语言的mongodb数据更新方法,其特征在于,

3.根据权利要求2所述的基于sql语言的mongodb数据更新方法,其特征在于,所述sql语句为select语句,所述select语句中的sql操作字为select,对应的mongodb语句为:db.getcollection("第一编号").find({"data.第二编号": "第三编号"})。

4.根据权利要求2所述的基于sql语言的mongodb数据更新方法,其特征在于,所述sql语句为delete语句,所述delete语句中的sql操作字为delete,对应的mongodb语句为:db.getcollection("第一编号").remove({"data.第二编号":"第三编号"})。

5.根据权利要求2所述的基于sql语言的mongodb数据更新方法,其特征在于,所述sql语句为insert语句,所述insert语句中的sql操作字为insert,通过解析语法树提取得到所述sql语句中的表名、第一字段名、第二字段名、第一主数据值和第二主数据值,则对应的mongodb语句为:db.getcollection("第一编号").insert({"data.第一字段名对应的第二编号":"第一主数据值对应的第三编号","data.第二字段名对应的第二编号": "第二主数据值对应的第三编号"})。

6.根据权利要求2所述的基于sql语言的mongodb数据更新方法,其特征在于,所述sql语句为update语句,所述update语句中的sql操作字为update,通过解析语法树提取得到所述sql语句中的表名、第一字段名、第二字段名、第一主数据值和第二主数据值,对应的mongodb语句为:db.getcollection("第一编号").updatemany({data.第一字段名对应的第二编号:" 第一主数据值对应的第三编号"},{$set:{"data.第二字段名对应的第二编号": "第二主数据值对应的第三编号"}})。

7.根据权利要求1或2所述的基于sql语言的mongodb数据更新方法,其特征在于,

8.根据权利要求1所述的基于sql语言的mongodb数据更新方法,其特征在于,还包括:在识别到sql语句执行时,进行用户权限验证。


技术总结
本发明涉及数据库技术领域,提出了一种基于sql语言的mongodb数据更新方法,包括:获得元表、元字段表和主数据表,所述元表包括多条元表记录,任一条元表记录包括一个表名和至少一个表名属性;所述元字段表包括多条元字段记录,任一条元字段记录包括一个字段名和至少一个字段名属性;所述主数据表包括多条主数据记录,任一条主数据记录包括一个主数据值和至少一个主数据值属性;在识别到sql语句执行时,解析语法树提取出所述sql语句中的sql操作字、表名、字段名和主数据值;根据所述sql操作字、所述表名、所述字段名和所述主数据值将sql语句替换为对应的mongodb语句;执行所述mongodb语句。通过上述技术方案,解决了相关技术中Mongodb数据库操作不便的问题。

技术研发人员:刘婷峰,姚志勇,李越峰,张萌,付学勇,高秀秀,王占名,张明
受保护的技术使用者:上海爱湃斯科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1