MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Konvertieren Sie die MongoDB-Abfrage in Java

Sie müssen die abgerufenen Felder als zweiten Parameter der findOne-Methode

angeben
BasicDBObject retrievedField = new BasicDBObject();
retrievedField.put("_id",0);

dbcoll.findOne(query, retrievedField);

Auch wenn Sie genau die von Ihnen gezeigte Abfrage abrufen möchten, müssen Sie meiner Meinung nach das elemMatch-Objekt an retrievedFields anhängen, anstatt es an queryObject hinzuzufügen.

BasicDBObject eleMatch = new BasicDBObject();
eleMatch.put("cityName","A");
BasicDBObject up = new BasicDBObject();
up.put("$elemMatch",eleMatch);
retrievedField.append(up);

BasicDBObject query = new BasicDBObject();
query.put("name","abc");

DBCollection dbcoll = mongoTemplate.getCollection("sample");
DBObject object = dbcoll.findOne(query, retrievedField);