私のプロジェクトでは、BasicDBObject を拡張する ClickScoreTuple というクラスを作成します。(そうしないと、シリアライズ可能の問題が発生します)。
次に、以下のコードを使用して ClickScoreTuple を挿入します
public void insertToMongodb(String q, ClickScoreTuple cs){
BasicDBObject doc = new BasicDBObject();
doc.put("query", q);
doc.put("clicks", cs);
coll.insert(doc);
}
以下のコードを使用して、MongoDB からデータを取得します。
public ClickScoreTuple retrieveFromMongodb(String q){
BasicDBObject query = new BasicDBObject();
query.put("query", q);
DBCursor cursor = coll.find(query);
**ClickScoreTuple result = (ClickScoreTuple) cursor.next();**
cursor.close();
return result;
}
ただし、次のような問題が発生します。
Exception in thread "main" java.lang.ClassCastException: com.mongodb.BasicDBObject cannot be cast to ClickScoreTuple
at MongoDBManager.retrieveFromMongodb(MongoDBManager.java:50)
at UserLogHistoryProcessor.processLogHistory(UserLogHistoryProcessor.java:30)
at UserLogHistoryProcessor.main(UserLogHistoryProcessor.java:108)
誰かがそれを解決するために鍬を知っていますか?