Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中连接到MongoDB_Java_Mongodb_Mongo Java Driver - Fatal编程技术网

在Java中连接到MongoDB

在Java中连接到MongoDB,java,mongodb,mongo-java-driver,Java,Mongodb,Mongo Java Driver,我按照教程学习如何在Java中连接MongoDB,然而,我遇到了一个问题,尽管进行了研究,我似乎无法修复它。 我完全按照教程中的说明进行操作: 创建一个新的Java项目 添加MongoJava驱动程序(我确保使用了正确的驱动程序,包括bson文件,这似乎是其他问题中的问题) 我创建了一个新类并创建了一个新的MongoClient 这是我到目前为止的代码: import com.mongodb.MongoClient; import com.mongodb.DB; public class

我按照教程学习如何在Java中连接MongoDB,然而,我遇到了一个问题,尽管进行了研究,我似乎无法修复它。 我完全按照教程中的说明进行操作:

  • 创建一个新的Java项目
  • 添加MongoJava驱动程序(我确保使用了正确的驱动程序,包括bson文件,这似乎是其他问题中的问题)
  • 我创建了一个新类并创建了一个新的
    MongoClient
  • 这是我到目前为止的代码:

    import com.mongodb.MongoClient;
    import  com.mongodb.DB;
    
    
    public class MongoDemo {
    
        public static void main(String[] args) {
    
            MongoClient mongoClient = new MongoClient("localhost", 27017);
            DB db = mongoClient.getDB("test");
    
        }
    
    }
    
    现在,我认为问题在于如何添加mongo java驱动程序,因为我在第一行中遇到了以下错误:
    import com.mongodb.MongoClient无法解决
    ,但我似乎不知道如何修复它


    我确实下载了正确的文件,并将其添加为外部库。当我键入
    import com.mongodb.
    时,我确实得到了一些建议,但是,
    MongoClient
    不是其中之一。我做错了什么?

    你可能在找这样的东西

    import com.mongodb.DB;
    import com.mongodb.MongoClient;
    import com.mongodb.ServerAddress;
    
    public class MongoDemo {
    
        public static void main(String[] args) {
            ServerAddress serverAddress = new ServerAddress("http://localhost", 27017);
            MongoClient mongoClient = new MongoClient(serverAddress);
            DB db = mongoClient.getDB("test");
        }
    }
    
    在创建时,我创建了一个maven项目来更好地管理依赖关系,并包含了最新的MongoDB依赖关系。这是我的POM.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>MongoDBExample</groupId>
        <artifactId>MongoDBExample</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        <dependencies>
            <!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongo-java-driver</artifactId>
                <version>3.7.0</version>
            </dependency>
        </dependencies>
    </project>
    
    
    4.0.0
    Mongodbe示例
    Mongodbe示例
    0.0.1-快照
    src
    maven编译器插件
    3.7.0
    1.8
    1.8
    org.mongodb
    mongo java驱动程序
    3.7.0
    

    但是,我还没有对此进行测试,请注意一些代码是如何更改的。这是因为演示中使用的一些代码已被弃用。这应该很接近了。

    除了戴尔的回答之外:

    这种错误可能是由于POM中添加的驱动程序版本不正确造成的。我建议您正确检查POM文件,并尝试更改mongodb java驱动程序的版本

    还应注意和小心与和驱动程序的连接,因为存在语法差异

    要连接到独立的MongoDB实例(旧的驱动程序,如3.4),请执行以下操作:

    要连接到独立的MongoDB实例(更新的驱动程序,如3.8),请执行以下操作:


    这种差异可能不太明显,但会增加更多的问题。

    如果您试图从命令行编译程序,它是否有效,或者错误只是显示在IDE中?可能您的IDE只需要刷新其依赖项。另外,您使用的是哪个版本的驱动程序
    getDB
    在最新的驱动程序中已被弃用。请尝试遵循有关的官方教程。如果在遵循该教程后仍然存在问题,请更新该问题。
    MongoClient mongoClient = new MongoClient();
    
    MongoClient mongoClient = MongoClients.create()