1
私は以前にMongoDBに追加した一連のIDを持っています。JavaでIDでMongoDB文書を取得
私はIDからドキュメントを取得しようとします。
String idString = "57f8f50977c8a5b8757f261a";
BasicDBObject whereQuery = new BasicDBObject();
whereQuery.put("_id", idString);
DBCursor cursor = table.find(whereQuery);
if(cursor.hasNext())
{
System.out.println("FOUND!" + cursor.next());
}
結果はゼロです。
しかし、別のフィールドを呼び出すと、 は私の文書を返してくれます。
BasicDBObject whereQuery = new BasicDBObject();
whereQuery.put("datachain", "AA");
DBCursor cursor = table.find(whereQuery);
if(cursor.hasNext())
{
System.out.println("FOUND!" + cursor.next());
}
FOUND!{ "_id" : { "$oid" : "57f8f50977c8a5b8757f261b"} , "datachain" : "AA" , "createdDate" : { "$date" : "2016-10-08T13:30:49.588Z"}}
私は間違っていますか? IDで文書を見つけることができないのはなぜですか? Thnx!
UPD: BasicDBObject whereQuery = new BasicDBObject(); whereQuery.put( "_ id"、新しいObjectId( "57f8f50977c8a5b8757f261a")); DBCursor cursor = table.find(whereQuery);
同じものはありません。
あなたの 'String'を' 'ObjectId'](https://docs.mongodb.com/manual/reference/method/ObjectId/)にする必要があります。 –