Example usage for org.springframework.data.mongodb.core MongoOperations findOne

List of usage examples for org.springframework.data.mongodb.core MongoOperations findOne

Introduction

In this page you can find the example usage for org.springframework.data.mongodb.core MongoOperations findOne.

Prototype

@Nullable
<T> T findOne(Query query, Class<T> entityClass);

Source Link

Document

Map the results of an ad-hoc query on the collection for the entity class to a single instance of an object of the specified type.

Usage

From source file:com.malsolo.mongodb.humongous.main.Main.java

public static void main(String... args) {

    ApplicationContext context = new AnnotationConfigApplicationContext(Application.class);

    MongoOperations ops = context.getBean("mongoTemplate", MongoOperations.class);

    //Create article
    /*//www  .  j av  a 2s.  c  om
    Article article = new Article();
    article.setAuthorId(UUID.randomUUID());
    article.setAuthor("Javier");
    article.setDate(new Date());
    article.setTitle("Ttulo");
            
    //Inserts
    ops.insert(article);
    */

    //Find one article
    Article article = ops.findOne(query(where("author").is("Javier")), Article.class);

    System.out.println(article);

    ArticleRepository articleRepository = context.getBean("articleRepository", ArticleRepository.class);
    article = articleRepository.findByAuthor("Javier");

    System.out.println(article);

    Comment comment = new Comment();
    comment.setAuthor("David el Gnomo");
    comment.setDate(new Date());
    comment.setText("Another comment");

    ops.upsert(query(where("author").is("Javier")), new Update().push("comments", comment), Article.class);

}

From source file:core.App.java

public static void main(String[] args) {

    // For XML/*from   ww w  . j  a va  2  s .c om*/
    //ApplicationContext ctx = new GenericXmlApplicationContext("SpringConfig.xml");
    // For Annotation
    ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringMongoConfig.class);
    MongoOperations mongoOperation = (MongoOperations) ctx.getBean("mongoTemplate");

    //Student user = new Student("3", "federico", "solterman", "26-10-1990");
    // save
    //mongoOperation.save(user);
    // now user object got the created id.
    // System.out.println("1. user : " + user);
    // query to search user
    // Query searchUserQuery = new Query(Criteria.where("first_name").is("federico")) {
    //};
    // find the saved user again.
    //Student savedUser = mongoOperation.findOne(searchUserQuery, Student.class);
    // System.out.println("2. find - savedUser : " + savedUser);
    //This method  Fetch all students whose notes in a specific course were greater than 4
    BasicQuery query = new BasicQuery(
            "{ $and: [{ note_1: {$gt:4 }, note_2: {$gt:4}, note_3: {$gt:4},note_final:{$gt:4  } } ] }");

    List<StudentXCourseXNote> stu = mongoOperation.find(query, StudentXCourseXNote.class);
    StudentXCourseXNote aux;

    for (int i = 0; i < stu.size(); i++) {
        aux = stu.get(i);
        BasicQuery query1 = new BasicQuery("{id_registration:" + " \"" + aux.getId_student() + "\"}");

        Student student = mongoOperation.findOne(query1, Student.class);

        System.out.println(student.toString());

    }
    //Fetch all courses ordered by name for a given teacher
    BasicQuery query2 = new BasicQuery("{ last_name:\"Sulma\" }");

    Teacher teacher = mongoOperation.findOne(query2, Teacher.class);

    BasicQuery query3 = new BasicQuery("{  id_teacher: \"" + teacher.getId_teacher() + "\"}");

    List<TeacherXCourse> list = mongoOperation.find(query3, TeacherXCourse.class);

    TeacherXCourse aux2;

    for (int j = 0; j < list.size(); j++) {

        aux2 = list.get(j);

        BasicQuery query4 = new BasicQuery("{id_course: \"" + aux2.getId_course() + "\" }");

        Course course = mongoOperation.findOne(query4, Course.class);

        System.out.println(course.toString());

    }
    //This method add a new fields in the collection course
    BasicQuery queryPoint4 = new BasicQuery("{ },{ $set: { finish: boolean } },{ multi: true }");
    Update update = new Update();
    update.set("{}", "");
    mongoOperation.updateFirst(queryPoint4, null, Course.class);

    // update password
    /*mongoOperation.updateFirst(searchUserQuery,
     Update.update("password", "new password"), Student.class);*/
    // find the updated user object
    /*Student updatedUser = mongoOperation.findOne(searchUserQuery, Student.class);*/
    //System.out.println("3. updatedUser : " + updatedUser);
    // delete
    // mongoOperation.remove(searchUserQuery, Student.class);
    // List, it should be empty now.
    /* List<Student> listUser = mongoOperation.findAll(Student.class);
      System.out.println("4. Number of user = " + listUser.size());*/
}

From source file:ezbake.example.ezmongo.EzMongoSpringDataSampleClient.java

public static void main(String[] args)
        throws VisibilityParseException, ClassificationConversionException, EzMongoBaseException {

    // For XML// w w  w.  j  av a2 s  . c om
    ApplicationContext ctx = new GenericXmlApplicationContext("springDataConfig.xml");

    // For Annotation
    //ApplicationContext ctx =
    //        new AnnotationConfigApplicationContext(SpringMongoConfig.class);
    MongoOperations mongoOperation = (MongoOperations) ctx.getBean("mongoTemplate");

    User user = new User("mkyong", "password123");

    // Here, we would insert the security tagging fields into the DBObject by calling a utility class (RedactHelper.java).
    Visibility vis = new Visibility();
    // Convert CAPCO to Accumulo-style boolean expression string and set it in the Visibility object.
    String booleanExpressionString = ClassificationUtils.getAccumuloVisibilityStringFromCAPCO("SECRET");
    vis.setFormalVisibility(booleanExpressionString);
    RedactHelper.setSecurityFieldsInDBObject(user, vis, "testAppId");

    // Also set the Name field in the User
    Name name = new Name("testFirstName", "testLastName");
    Visibility nameVis = new Visibility();
    nameVis.setFormalVisibility(booleanExpressionString);
    RedactHelper.setSecurityFieldsInDBObject(name, nameVis, "testAppId");

    user.setName(name);

    // Call the Provenance service to get a unique ID for the document -
    //   the unique ID would be used for the Purge feature.

    // save
    mongoOperation.save(user);

    // now user object got the created id.
    System.out.println("1. user : " + user);

    // query to search user
    Query searchUserQuery = new Query(Criteria.where("username").is("mkyong"));

    // find the saved user again.
    User savedUser = mongoOperation.findOne(searchUserQuery, User.class);
    System.out.println("2. find - savedUser : " + savedUser);

}