- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我可以使用 mongoTemplate 或其他类/接口(interface)来查找集合中的一个/多个列吗?
例如,如果我只想从集合中获取名称:users(name, password, age, email),我该怎么办?
最佳答案
您可以使用 Query.fields()
方法指定查询返回的字段。
因此在您的情况下,假设用户集合映射到 User
类,查询可能如下所示:
Query query =new Query(whatever criteria you have);
query.fields().include("name");
List<User> list = template.find(query, User.class);
另一种方法是扩展 MongoRepository 并指定字段 qith Query
annotation:
public interface UserRepository extends MongoRepository<User, String> {
@Query(fields="{ 'name' : 1}")
List<User> findUserNames();
}
findUserNames
应该返回仅初始化了 name 和 id 字段的 User
实例。
编辑
从外观上看,spring-data-mongo
没有注册到 String
的转换器,因此您必须检索 User
将查询中包含的字段以外的所有字段设置为 null
或创建并注册一个转换器。
关于java - spring mongoTemplate 查找专栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12949870/
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我已经在 Spring Boot 中配置了 MongoDB 连接。现在我想使用 MongoTemplate find() 方法运行自定义查询。但 Spring Boot 不允许我这样做。 @Autow
从 1.9.0.RELEASE 开始,spring-data-mongodb 支持批量更新。 BulkOperations ops = template.bulkOps(BulkMode.UNORDE
我有一个名为 collection_One 的集合.我想重命名集合,但失败了。 mongotemplate给我看了: executing the 'renameCollection' command
MongoTemplate 不返回结果。 JSON: { "_id" : ObjectId("51acf6ab0d5d46077ae12b2a"), "docType" : "row",
我正在使用 MongoTemplate 来执行我的 Mongo 查询。我想知道计数是否适用于限制集? 尽管设置了限制,为什么查找查询会搜索完整集合(根据查询)?例如我写的查询可能会产生 10000 条
我正在尝试使用 MongoTemplate 和聚合框架在 Spring Boot 项目中运行聚合管道。 我的查询执行时没有任何异常。但是,当我尝试在 AggregationResults 实例上调用
我正在尝试从 mongoDb 中的嵌入字段数组中删除一个项目。数组是一种字符串类型,如下所示。 { _id: 1, fruits: [ "apples", "pears", "orange
对于 Upsert MongoTemplate 提供了一种按以下方式使用的方法。 但是,它只会设置名称。如果我想插入与新用户对象关联的所有键该怎么办?即除了姓名之外,我还想插入电子邮件和许多其他值。我
我需要在 MongoTemplate 中提取子文档,但不知道该怎么做。 我保存的文档是: { "_id" : "FooUser", "_class" : "com.domain.Use
我需要编写一个查询,它可以查找数据库中子数组大小大于某值的对象。 我的对象看起来像: { "_id" : ObjectId("sbg8732god78"), "studentIds"
我有一个端点,它接受文档 ID,以及我想要更新的嵌套数组中的 Employee 对象。这工作正常。我尝试修改端点以获取超过 1 名员工并让它一次更新所有员工,但我无法让它工作。我不确定我是否格式错误,
我想创建一个 DAO,将用户保存到我的数据库中。他们应该有唯一的登录名,这有点问题,因为 mongo db 没有事务。我有一个类,其中的用户如下所示: @Document(collection = "
我正在尝试转换以下查询: { "cd" : { "$lte" : ISODate("2013-06-30T09:12:29Z") , "$gte" : ISODate("2013-06-11T09:1
我的以下 mongodb 查询按预期工作 db.importedDataItems.aggregate({ $match: { mobile: "1234567890"
我正在根据多个参数生成一个复杂的 Mongo 查询。我想用 Criteria 辅助类制定的标准之一是: {"field1": {$exists: true, $ne: false}} 我试着用: Cr
在我们的应用程序中,我们管理许多 MongoTemplate 实例,每个实例代表一个客户端数据库。对于大多数数据库操作,我们希望使用 secondaryPreferred 读取首选项,以便利用集群的只
我在 MongoDB 中有像这样的 JSON 文档 { "os" : "Windows 10" } { "os" : "WINDOWS 8" } { "os" : "UBunTu 18.0
我正在使用 MongoTemplate 进行我的数据库操作。现在我想从所选结果中获取最大字段值。有人可以指导我如何编写查询,以便当我将查询传递给 find 方法时,它将返回我所需的最大文档字段。提前致
我有一个 Entity 类,它是一个包含基本字段的抽象类。考虑以下代码: Entity entity = new DogEntity() mongoTemplate.save(entity) 在这种情
我是一名优秀的程序员,十分优秀!