草庐IT

large-data

全部标签

java - 使用 Spring Data Embedded Mongo 在 Mongo 数据库中导入 JSON 文件

我正在尝试编写一些与需要从MongoDB中提取数据的方法相关的集成测试。详细地说,我正在使用EmbeddedMongo由SpringData项目给出。Flapdoodle明确提供了嵌入式mongo.我需要将一些json文件导入嵌入式Mongo。我查看了flapdoodle提供的测试,但我无法理解它们如何与SpringData+SpringBoot提供的魔法集成。任何人都可以发布一些澄清片段吗? 最佳答案 您可以创建一个在每次测试前后运行的junit规则(ExternalResource)。检查MongoEmbeddedRule类以了

mongodb - 将 $strLenCP 与 Spring Data MongoDB 一起使用

我有这个mongodb查询db.getCollection('myCollection').aggregate([{$project:{length:{$strLenCP:"$prefix"}}},{$sort:{length:-1}}])我想将其用于springjava项目,但我无法编写正确的java代码(排序不是问题)。我试过了Aggregationagg=newAggregation(project().andExpression("strLenCP(prefix)").as("prefixLength"));AggregationResultsresults=mongoTemp

java - Spring Data MongoDB - 保存 LocalDate/LocalDateTime 时,值被设置为昨天

我在将Java8日期API值保存到MongoDB数据库时遇到了问题。每当保存新的LocalDate实例(LocalDate.now())时,结果我们将获得昨天日期的值,时间设置为下午23:00。示例:dt.getDate().toString()给我“2017-03-17”但是当我查看数据库时,我得到这样的值:"dt":ISODate("2017-03-16T23:00:00.000Z")我的时区是UTC+01:00 最佳答案 MongoDB以UTC时间保存日期。LocalTime是您的挂钟时间。当您将它传递给MongoDb时,sp

java - 在 mongodb spring-data 中使用 dbref 保存文档

使用Spring-data-MongoDb。在我们有以下文件的场景中@DocumentpublicclassCompany{..@DBRefListpersonnel;}还有Person类。@DocumentpublicclassPerson{@IdpublicStringid;publicStringname;..}现在,如果我在mongodb中保存了一些ID分别为100和200的人,保存这些人的公司的最佳方法是什么? 最佳答案 您首先使用MongoRepository接口(interface)创建一个存储库。您将其自动连接到某些

java - Spring Data MongoDB 无法在组聚合中映射 _id

我正在使用SpringDataMongoDB生成聚合查询。有一次我这样做://5.Rejointhearraywithgroup.group("email","name","surname","birthday","creationTime","updateTime","technology").push(SCORES_FIELD).as(SCORES_FIELD));生成的步骤(在日志中)是这样的:"$group":{"_id":{"email":"$_id","name":"$name","surname":"$surname","birthday":"$birthday","cr

mongodb - 如何在 XML 中使用 spring-data-mongodb 启用 mongo 连接池监控?

我正在使用spring-data-mongodb1.10.12和mongo3.6.4。我最近从低版本的mongo升级而来,现在我的mongo连接池监控坏了,因为没有注册ConnectionPoolStatisticsMBean。根据documentation对于该版本的mongo“默认情况下禁用JMX连接池监控。要启用它,请通过MongoClientOptions添加com.mongodb.management.JMXConnectionPoolListener实例”但是,在spring-data-mongo的xml模式中,clientOptionsType不允许设置该值,除非我遗漏了

spring - Mongodb 聚合仅在 Spring Data 上很慢

我正在将SpringBoot2与SpringData和本地Mongodb3.4一起使用。我目前有一个包含约200k文档的集合,通过Spring的注释正确索引。我精心制作了一个聚合管道(见本文底部),它需要大约2000毫秒才能完成:Python、Studio3T、SpringBoot单元测试。当我在已部署的应用程序实例(bootJar)上正常运行完全相同的查询时,它需要8000毫秒,这对于我的用例来说是NotAcceptable,也是很奇怪。数据库日志报告的查询时间在所有情况下均约为300毫秒,因此数据库运行良好。找出发生这种情况的原因非常有趣,因为正常部署和单元测试期间的代码完全相同(

java - 使用 Spring data Mongo 在嵌入式数组中搜索文本列表

我必须创建一项服务,该服务获取文本列表并在MongoDB文档的嵌入式数组中搜索匹配项。例如,我必须搜索此文本列表:["Tom","Keanu","Arnold"]在以下集合中:[{id:"123",title:"Movie1",cast:[{id:1,name:"TomHanks"},{id:2,name:"Actor2"}]},{id:"123",title:"Movie1",cast:[{id:1,name:"KeanuReeves"},{id:2,name:"Actor2"}]}{id:"123",title:"Movie1",cast:[{id:1,name:"ArnoldSc

Mongodb 异常, "MongoCursorException' 和消息 '$ operator made object too large"是什么意思?

MongoCursorException'withmessage'$operatormadeobjecttoolarge我试图用类似这样的更新命令来更新一些对象$collection->update({"_id"=>array('$in'=>array(2,3,4,5))}....)并得到了这个异常。关于这意味着什么的任何提示?这样我就可以继续调试了。 最佳答案 根据源代码,我认为这意味着更新使对象大于允许的文档大小:https://github.com/mongodb/mongo/blob/master/db/update.cpp

MongoDB & Mongoose : How to find and remove a large group of documents. findAndModify(..... {remove :true})?

请耐心等待,因为我是MongoDB的新手,Mongoose是我与它的唯一互动。如果我没有正确区分或理解这两种技术,请提前致歉。我有一个基本上是日志的集合。每个日志项都是对我系统中的特定服务器进行状态检查的结果。当我删除服务器时,我还想删除所有关联的日志条目。最有效的方法是什么?我知道我可以找到所有具有特定服务器ID的日志项,然后遍历每个日志项并将其删除,但这似乎效率很低。我已经阅读了大部分的mongo文档,看起来findAndModify是执行此操作的最佳方法,但我无法用mongoose弄清楚它的语法。有人可以帮助我吗?我目前在mongoose上使用最新版本,1.7.2