草庐IT

MongoRepository

全部标签

Spring Boot自定义查询MongoDB

我有这个MongoDb查询:db.getCollection('user').find({$and:[{"status":"ACTIVE"},{"last_modified":{$lt:newDate(),$gte:newDate(newDate().setDate(newDate().getDate()-1))}},{"$expr":{"$ne":["$last_modified","$time_created"]}}]})它在Robo3T中工作,但是当我将其作为自定义查询放入springboot时,它会在项目启动时抛出错误。@Query("{$and:[{'status':'ACT

c# - 使用 MongoRepository 的多个数据库

我正在使用MongoRepository与mongo数据库对话。这是我的连接字符串。然后我像这样使用它:usingSystem;usingSystem.Linq;usingMongoRepository;classProgram{staticMongoRepositorycustomerrepo=newMongoRepository();staticvoidMain(string[]args){//Addcustomersvarjohn=newCustomer(){FirstName="John",LastName="Doe"};varjane=newCustomer(){FirstN

spring - 我们可以在 mongorepository 中使用带空格的 Ignorecase 吗?

谁能建议我,如何在mongorepository中使用“findbynameRegexIgnorecase”?我需要在查找名称本身时检查(regex,Ignorecase)。spring1.4.2.发布publicinterfaceSampleAreaMongoRepositoryextendsMongoRepository{SampleAreafindByAreaRegexIgnoreCase(Stringarea);} 最佳答案 好吧,您可以使用SpringDatamongofinder@Query注释来实现这一点。查询注解来自

mongodb - 如何在不覆盖接口(interface)中带注释的@Query 方法的情况下自定义 MongoRepository?

我想通过添加一个方法来自定义MongoRepository,并且仍然使用MongoRepository提供的已实现方法。下面是代码:publicinterfaceTopoRepositoryInterfaceextendsMongoRepository{@Query("{'name':?0}")publicTopofindByName(Stringname);publiclonggetPublishedTopoCount();}实现声明是:publicclassTopoRepositoryImplextendsSimpleMongoRepositoryimplementsTopoRep

java - 自定义 Spring MongoRepository - 按类过滤

我有几个Java文档存储在mongodb的同一个集合“app”中。我的意图是将它用于常见的持久性操作(插入、查找、删除...)。当我尝试只为其中一个类定义存储库时,问题就来了,因为我定义的存储库将搜索所有实体,而我需要的是一个存储库,我可以在其中调用所有mongorepository标准函数(find、findAll,查找...)。我的解释可能很难理解,这就是我现在的:基础文档:@Document(collection="app")@NoRepositoryBeanpublicabstractclassAbstractApplicationDocument{@IdpublicStrin

mongodb - MongoRepository 在数组中查找列表

我有一个看起来像这样的文档@Documentpublic@DataclassNote{@IdprivateStringnoteId;privateStringowner;@TextIndexedprivateStringname;@TextIndexedprivateStringtext;privateListtags;privateLocalDatedate;}我还使用springdatamongodb在mongodb数据存储上进行操作。我创建了界面publicinterfaceNoteRepositoryextendsMongoRepository{ListfindByTags(L

mongodb - Java MongoDB 一次保存多个文档

我有一个更新的对象/文档列表,我需要一次保存列表中的所有对象。我在MongoTemplate中看到了save()但它一次只能处理一个文档。有什么方法可以一次保存多个文档,或者我需要在循环中调用保存? 最佳答案 感谢所有的帮助。我能够使用SpringdataMongoDB做到这一点。SpringdataMongoDB的MongoRepository有很多内置的方法。org.springframework.data.mongodb.repository.MongoRepository.saveAll(可迭代实体)是我用来保存多个文档的那

spring - MongoRepository 的 saveAll() 是批量插入数据吗?

我想让保存操作更有效率,所以我想偶尔将大量对象写入Mongo(即当超过某些容量时)saveAll()会为我做那个吗?我应该改用BulkOperations吗? 最佳答案 简短的回答,是的,但前提是所有文件都是新的。如果没有,它将一个一个地插入或更新。看看SimpleMongoRepository(MongoRepository的默认实现):publicListsaveAll(Iterableentities){Assert.notNull(entities,"ThegivenIterableofentitiesnotbenull!"

mongodb - 使用 Spring 和 MongoRepository 使用注解更新查询

我正在使用最新版本的SpringBoot和SpringDataMongoRepository。我写了一个自定义存储库接口(interface)publicinterfaceCompanyRepositoryextendsMongoRepository{@Query(value="{'employer.userId':?0}")CompanyfindByCompanyUserUserId(StringuserId);}以同样的方式,我想使用@Query注释来更新特定字段。有人可以建议我吗? 最佳答案 像这样创建一个注解:@Docume

mongodb - MongoRepository findByThisAndThat 带有多个参数的自定义@Query

我正在尝试运行此查询{campaignId:ObjectId('5a6b11e806f0252e1408e379'),'options.path':'NT'}它在Compass中完美运行,但是当我尝试添加如下所示的MongoRepository接口(interface)时:@Query("{'campaignId':ObjectId(?0),'options.path':?1})")publicDialogfindByCampaignIdAndPath(StringcampaignId,Stringpath);我得到这个异常:nestedexceptioniscom.mongodb.u