gpt4 book ai didi

java - 在 MongoCollection 中查找

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:14:02 25 4
gpt4 key购买 nike

我有一个 MongoCollection<Document>我在其中分配一个集合。我正在尝试通过他的 ID 查找用户。

user = (Document) usersCollection.find(new Document("_id", username));

我得到一个错误

java.lang.ClassCastException: com.mongodb.FindIterableImpl cannot be cast to org.bson.Document

当我尝试

    BasicDBObject query = new BasicDBObject(); 
BasicDBObject fields = new BasicDBObject("_id", username);
usersCollection.find(query, fields);

我遇到了一个错误

The method find(Bson, Class) in the type MongoCollection is not applicable for the arguments (BasicDBObject, BasicDBObject)

最佳答案

尝试创建一个过滤器以传递给 find()方法来获取集合中文档的子集。例如,要查找 _id 字段的值为 test 的文档,您可以执行以下操作:

import static com.mongodb.client.model.Filters.*;

MongoClient client = new MongoClient();
MongoDatabase database = client.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("mycoll");
Document myDoc = collection.find(eq("_id", "test")).first();
System.out.println(myDoc.toJson());

关于java - 在 MongoCollection<Document> 中查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625380/

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