MongoTemplate 使用collectionName进行查询时需要注意的地方

现user表中存在下面一条数据:

{ "_id" : ObjectId("5d8d7083f3d020df78dea61b"), "username" : "Dio", "password" : "e10adc3949ba59abbe56e057f20f883e" }

用户实体类 User.java

@Data
@Document(collection = "user")
public class User{
	@Id
	private ObjectId id;
	private String username;
	private String password;
	
}

如果是用collectionName进行查询,where中的字段名要和数据库中的字段一样。

public user getUserById(ObjectId id){
	Query query = new Query();
	query.addCriteria(Criteria.where("_id".is(id));
	User user = mongoTemplate.findOne(query,User.class,"user");
}

如果不用collectionName进行查询,where中的字段名与实体类字段名相同即可

public user getUserById(ObjectId id){
	Query query = new Query();
	query.addCriteria(Criteria.where("id".is(id));
	User userr = mongoTemplate.findOne(query,User.class);
}

你可能感兴趣的:(mongoDB,java)