在DataGrip JetBrains中删除数据库

问题描述

它是mongo shell中的数据库,但不是Datagrip中的。

我想知道为什么。救救我。

  • 操作系统:Windows
  • MongoDB shell版本:v4.4.1
  • Datagrip:2020.2.3

Mongo Shell

> use test
switched to db test

> db.Hi.insert({title:"temp"});
WriteResult({ "nInserted" : 1 })

> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB

> db.dropDatabase();
{ "dropped" : "test","ok" : 1 }

> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB

Datagrip控制台

use test;
db.Hi.insert({title:"temp"});
show dbs;
db.dropDatabase(); // Error
show dbs;

Datagrip错误历史记录

java.lang.Exception: TypeError: invokeMember (dropDatabase) on JavaObject[com.mongodb.mongosh.service.JavaServiceProvider@60231c39 (com.mongodb.mongosh.service.JavaServiceProvider)] Failed due to: Arity error - expected: 3 actual: 2
TypeError: invokeMember (dropDatabase) on JavaObject[com.mongodb.mongosh.service.JavaServiceProvider@60231c39 (com.mongodb.mongosh.service.JavaServiceProvider)] Failed due to: Arity error - expected: 3 actual: 2
at Proxy.<anonymous> (all-standalone.js:77453:67)
at step (all-standalone.js:77314:23)
at Object.<anonymous> (all-standalone.js:77295: ...

解决方法

您似乎需要将 MongoDB JDBC 驱动程序更新到最新版本 1.11

使用最新的驱动程序版本,您的查询可以正常工作:
working solution