gpt4 book ai didi

java - 从 mongodb java api 检索数据

转载 作者:行者123 更新时间:2023-12-02 05:51:48 26 4
gpt4 key购买 nike

我在 mongodb 数据库中有一个字段 tweets,其中包含存储的 tweet 的几个特征。用户字段之一,包含有关发布推文的用户的信息。我想检索给定的用户 ID,以及存储在数据库中的用户的一些其他信息。数据库结构:

_id
tweet_info
user
id
description
default_profile

我想要用用户 ID 来检索字段描述和 default_profile。我应该在这里执行什么查询?到目前为止我的代码:

MongoClient mongoClient = new MongoClient("..", 27017);
DB db = mongoClient.getDB("...");
DBCollection coll = db.getCollection("...");


BasicDBObject query = new BasicDBObject("??, ??);
DBCursor cursor = coll.find(query);
System.out.println(cursor);
try {
while (cursor.hasNext()) {
final DBObject result = cursor.next();
Map<String, Object> value = (Map<String, Object>) result.get("user");
System.out.println(value.get("default_profile"));
System.out.println(value.get("description"));
System.out.println(cursor.next());
}
} finally {
cursor.close();
}

如何在给定 user.id 的情况下检索此字段?我正在尝试的是以下内容:

 BasicDBObject query = new BasicDBObject("user.id",  975789703); // id example
DBCursor cursor = coll.find(query);
System.out.println(cursor);
try {
while (cursor.hasNext()) {
final DBObject result = cursor.next();
Map<String, Object> value = (Map<String, Object>) result.get("user");
System.out.println(value.get("default_profile"));
System.out.println(value.get("default_profile_image"));
System.out.println(cursor.next());
}
} finally {
cursor.close();
}

当我尝试执行如下查询时:

BasicDBObject query = new BasicDBObject("user.name", "");

它返回所有用户。几分钟后我收到消息:

Cursor id=0, ns=iti_se.cms, query={ "user.id" : 507813128}, numIterated=0, limit=20, 
readPreference=primary
Exception in thread "main" com.mongodb.MongoException: interrupted at shutdown
at com.mongodb.MongoException.parse(MongoException.java:82)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:314)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
at com.mongodb.DBCursor._check(DBCursor.java:368)
at com.mongodb.DBCursor._hasNext(DBCursor.java:459)
at com.mongodb.DBCursor.hasNext(DBCursor.java:484)
at twitter4j.examples.tweets.UpdateStatus.default_image(UpdateStatus.java:94)
at twitter4j.examples.tweets.UpdateStatus.main(UpdateStatus.java:112)

Java 结果:1

最佳答案

试试这个:

BasicDBObject query = new BasicDBObject("user.id",  userId);

关于java - 从 mongodb java api 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23468238/

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