使用Dbeaver 操作 mongodb

文章目录

使用Dbeaver 旗舰版 操作 mongodb

前提

使用前提是得安装dbeaver旗舰版,或者企业版,社区版不支持mongodb连接。

安装破解可以去找我的其他文章(dbeaver-ultimate23.3安装破解)。

使用限制

通过dbeaver工具,仅可执行mongodb的部分脚本,绝大部分脚本都不支持解析执行。

例如,查询mongodb数据库 show dbs,db.test.insertMany()等。还是需要使用mongodb的客户端shell工具来执行。

但是dbeaver可以使用SQL语句去查询mongodb。请看官方解释:

很明确,仅支持部分,上图列表部分。

如果是这个结论,那dbeaver作为操作mongodb的工具,就不是个很好的选择了,唯一比较好的作用,就是数据可视化,及界面化修改删除数据记录。

支持脚本

use palces

db.places.find()
# 删除集合(数据表)
db.places.drop()
# 创建集合
db.createCollection('places')

# 批量插入地点数据
db.places.insert( [
   {
      loc: { type: "Point", coordinates: [ 114.537078, 30.505029 ] },
      name: "公寓01",
      category : "Park"
   },
   {
      loc: { type: "Point", coordinates: [ 114.520989, 30.545705 ] },
      name: "公寓02",
      category: "Airport"
   },
   {
      loc: { type: "Point", coordinates: [ 114.554095, 30.483247 ] },
      name: "公寓03",
      category : "Monument"
   }
] )

查询如下:

#在loc列创建地理空间索引
db.places.createIndex( { loc : "2dsphere" } )
# 查询距离114.43702,30.492105 点附近50km内的地点,从近到远排
db.places.find( {
   loc: {
      $near: {
         $geometry: {
            type: "Point",
            coordinates: [ 114.43702,30.492105 ]
         },
         $maxDistance : 50000
      }
   }
} )

输出如下

# 查询距离114.43702,30.492105 点附件50km内的地点,从近到远排,并返回距离(按球面距离计算)
db.places.aggregate([
   {
     $geoNear: {
        near: { type: "Point", coordinates: [ 114.43702,30.492105 ] },
        distanceField: "dist.calculated",
        maxDistance: 50000,
        includeLocs: "dist.loc",
        spherical: true
     }
   }
])

输出如下:

其中,calculated是计算的距离

经验总结

1 dbeaver 作为一个通用的数据库连接工具,并不能支持数据库所有的shell脚本,例如mongodb的show dbs脚本;

2 若遇到dbeaver 无法执行的脚本,也不必过于纠结,再切换到官方的shell客户端即可;

相关推荐
尘浮生16 分钟前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
偶尔。53517 分钟前
什么是事务?事务有哪些特性?
数据库·oracle
安迁岚19 分钟前
【SQL Server】华中农业大学空间数据库实验报告 实验六 视图
数据库·sql·mysql·oracle·实验报告
xoxo-Rachel29 分钟前
(超级详细!!!)解决“com.mysql.jdbc.Driver is deprecated”警告:详解与优化
java·数据库·mysql
JH30731 小时前
Oracle与MySQL中CONCAT()函数的使用差异
数据库·mysql·oracle
蓝染-惣右介1 小时前
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
java·数据库·tomcat·mybatis
冷心笑看丽美人1 小时前
Spring框架特性及包下载(Java EE 学习笔记04)
数据库
武子康2 小时前
Java-07 深入浅出 MyBatis - 一对多模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据库·sql·mybatis·springboot
代码吐槽菌3 小时前
基于SSM的毕业论文管理系统【附源码】
java·开发语言·数据库·后端·ssm
路有瑶台3 小时前
MySQL数据库学习(持续更新ing)
数据库·学习·mysql