当前位置: 首页 > article >正文

使用Dbeaver 操作 mongodb

文章目录

  • 使用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客户端即可;


http://www.kler.cn/news/290685.html

相关文章:

  • 「小明赠书活动」第五期“网安三剑客”套系图书《内网渗透技术》《渗透测试技术》《Web应用安全》
  • Luminar Neo for Mac智能图像处理软件【操作简单,轻松上手】
  • LeetCode 热题100-11 滑动窗口的最大值
  • 前端防抖和节流函数的实现原理
  • MFC的控件无法触发事件函数(ON_COMMAND_RANGE的映射范围冲突)
  • 百度翻译API翻译Qt LinguistTools的ts文件
  • 百度飞浆目标检测PPYOLOE模型在PC端、Jetson上的部署(python)
  • React 创建和嵌套组件
  • 策略规划:在MySQL中实现数据恢复的全面指南
  • [Python图论]在用图nx.shortest_path求解最短路径时,节点之间有多条边edge,会如何处理?
  • 【MySQL】索引使用规则——(覆盖索引,单列索引,联合索引,前缀索引,SQL提示,数据分布影响,查询失效情况)
  • Proteus 仿真设计:开启电子工程创新之门
  • Unity3D中控制3D场景中游戏对象显示层级的详解
  • 构建数据恢复的硬件基础:MySQL中的硬件要求详解
  • draw.io图片保存路径如何设置
  • linux(ubuntu)安装QT-ros插件
  • Ferrari求解四次方程
  • VTK随笔十三:QT与VTK的交互
  • jupyter 笔记本中如何判定bash块是否执行完毕
  • CentOS7 yum 报错解决方案
  • FFmpeg源码:get_audio_frame_duration、av_get_audio_frame_duration2函数分析
  • Splasthop 安全远程访问帮助企业对抗 Cobalt Strike 载荷网络攻击
  • 鸿蒙(API 12 Beta6版)图形【NativeImage开发指导 (C/C++)】方舟2D图形服务
  • git---gitignore--忽略文件
  • 【C++】对比讲解构造函数和析构函数
  • 智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序(KNN分类器)
  • idea对项目中的文件操作没有权限
  • 海外合规|新加坡网络安全认证计划简介(三)-Cyber Trust
  • SpringBoot+Redis极简整合
  • springboot集成七牛云上传文件