初学MongoDB,一些注意事项
一、使用mongoDB需要先配置yml文件
spring:
data:
mongodb:
# uri: mongodb://localhost:27017/test
database: test
host: localhost
port: 27017
二、创建实体类
@Data
@Document(collection = "stu")
public class Person implements Serializable {
@Field("name")
private String name;
@Field("age")
private int age;
}
***@Document***注解中,collection属性的值为指定的集合;默认情况(不指定集合),mongoDB会自动创建一个与实体类同名的集合
***@Field***注解,值为集合字段名;默认情况下,以属性名作为集合字段名
三、使用***MongoTemplate***进行mongoDB集合的增删改查
@Component
public class MongoDBComponent {
@Autowired
MongoTemplate mongoTemplate;
public void insertData(Person person) {
mongoTemplate.save(person);
}
public void fingData(Person person) {
Query query = new Query(Criteria.where("name").is(person.getName()));
List<Person> persons = mongoTemplate.find(query, Person.class);
for(Person p : persons) {
System.out.println(p);
}
}
public long updateData(Person person) {
Query query = new Query(Criteria.where("name").is(person.getName()));
Update update = new Update().set("age",person.getAge());
UpdateResult updateResult = mongoTemplate.updateMulti(query, update, Person.class);
long modifiedCount = updateResult.getModifiedCount();
return modifiedCount;
}
public long deleteData(String id) {
Query query = new Query(Criteria.where("_id").is(id));
DeleteResult remove = mongoTemplate.remove(query, Person.class);
long l = remove.getDeletedCount();
return l;
}
}