相关疑难解决方法(0)

Spring数据MongoDb:MappingMongoConverter删除_class

默认的MappingMongoConverter将自定义类型键("_class")添加到数据库中的每个对象.所以,如果我创建一个Person:

package my.dto;
public class Person {
    String name;
    public Person(String name) {
        this.name = name; 
    }
}
Run Code Online (Sandbox Code Playgroud)

并将其保存到db:

MongoOperations ops = new MongoTemplate(new Mongo(), "users");
ops.insert(new Person("Joe"));
Run Code Online (Sandbox Code Playgroud)

mongo中的结果对象将是:

{ "_id" : ObjectId("4e2ca049744e664eba9d1e11"), "_class" : "my.dto.Person", "name" : "Joe" }
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 将Person类移动到不同的命名空间有什么含义?

  2. 是否有可能不用"_class"键污染对象; 没有为Person类编写一个独特的转换器?

mongodb spring-data spring-data-mongodb

32
推荐指数
5
解决办法
2万
查看次数

标签 统计

mongodb ×1

spring-data ×1

spring-data-mongodb ×1