sql >> Databasteknik >  >> NoSQL >> MongoDB

Konvertera MongoDB-fråga till Java

Du måste ange hämtade fält som den andra parametern i findOne-metoden

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

dbcoll.findOne(query, retrievedField);

Om du vill hämta den exakta frågan du visade tror jag att du måste lägga till elemMatch-objektet till retrievedFields istället för att lägga till det i queryObject.

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);



  1. Hur aggregerar man efter datum när en fullständig tidsstämpel ges i aggregeringsramverket?

  2. Aggregera $lookup med C#

  3. Hur den primära servern nere kommer att hanteras automatiskt i mongodb-replikering

  4. Kan jag använda MongoDB som ersättning för CoreData på iOS?