gpt4 book ai didi

java - bson 无法转换为 DBObject

转载 作者:行者123 更新时间:2023-12-02 03:26:47 25 4
gpt4 key购买 nike

我正在尝试查询 mongodb,如官方文档页面上的示例所示,但它在 Netbeans 上给出以下错误

bson cannot be converted to DBObject

这是代码

MongoClient mongoClient = new MongoClient("localhost", 27017);

// Now connect to your databases
DB db = mongoClient.getDB("webAppDB");
System.out.println(db.getCollectionNames());
System.out.println("Connect to database successfully");
DBCollection collection = db.getCollection("users");
Document myDoc = collection.find(eq("i", 71)).first(); // Error Line

示例链接
http://mongodb.github.io/mongo-java-driver/3.2/driver/getting-started/quick-tour/

最佳答案

您使用 DBCollection 其中 find() 方法具有签名 DBCursor find(DBObject query) ,所以你应该通过 DBObject作为它的论点。

而 eq() 方法在 Filters 中定义并有签名 <TItem> Bson eq(String fieldName, TItem value) ,所以它返回 Bson类型,而不是 DBObject .

通过Bson键入 find() 方法,您应该使用 MongoCollection ,(其中 find() 是 FindIterable<TDocument> find(Bson filter) ),而不是 DBCollection .

MongoCollection较新,因为它在 v3.0 发布后可用。因此,也许您想坚持使用它,而不是 DBCollection .

关于java - bson 无法转换为 DBObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38738802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com