我的用户POJO如下所示:
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "User")
public class User {
@Id
private String id;
private String username;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
我可以根据查询获取所有文档:
List<User> testBedsFromDB = mongoOperations.findAll(User.class);
我想跳过一些字段,例如password
。我想通过values only in id and username
,password may be null or empty
获取所有文档。我怎么能做到这一点?
答案 0 :(得分:1)
我能够获得除一个字段之外的所有字段。代码spinet吼叫:
Query searchQuery = new Query();
searchQuery.fields().exclude("password");
List<User> userList = mongoOperations.find(searchQuery, User.class);
使用上面的代码password
,字段值将为null
。
您可以使用多个排除:
searchQuery.fields().exclude("username").exclude("password");