草庐IT

data-add-back-button

全部标签

mongodb - 如何在 mongodb 的 spring-data 中映射枚举集合

带有MongoDB的Spring数据1.0.0.M3。spring怎么可以映射这个类:importorg.springframework.data.document.mongodb.index.IndexDirection;importorg.springframework.data.document.mongodb.mapping.Document;@DocumentpublicclassEnumsMapper{privateIndexDirectiond=IndexDirection.ASCENDING;}这个失败了:importorg.springframework.data.d

mongodb - Spring Data MongoDB - 聚合框架 - 组操作中的无效引用

我使用SpringData(1.3.0.RC1)访问我们的MongoDB,对于一些新查询,我想使用聚合框架。在mongoshell中,命令是:db.spotreports.aggregate({"$unwind":"$pd"},{"$group":{"_id":"$pd.PDch","base":{$sum:"$pd.aBL"},"uplift":{$sum:"$pd.up"}}}){"result":[{"_id":5,"base":529133,"uplift":21516},...我使用的Spring代码是:Aggregationagg=Aggregation.newAggreg

ruby-on-rails - 如何使用 mongoid 将 add_to_set 添加到多个数组并在单个查询中进行触摸

我希望添加到多个集合,同时更新updated_at时间戳(触摸)。我可以使用mongo驱动程序做到这一点:db.mycollection.update({"_id":ObjectId("911")},{$addToSet:{"hashtags":{$each:["#test1","#test5"]},"new_hash":{$each:["test9"]}},$set:{"updated":"currenttime3"}})我如何在Rails应用程序中使用mongoid在单个更新查询中执行此操作。现在,我需要使用mongoid进行3次写入:my_object.add_to_set("h

java - Spring Data MongoDB 聚合转换?

我无法将以下mongodb聚合操作转换为SpringDataAggregationOperation。我正在使用SpringDataMongoDB1.3.2版本。db.ads.aggregate({$group:{_id:"$adId",req:{$sum:1},imp:{$sum:{$cond:[{$eq:["$imped",true]},1,0]}},click:{$sum:{$cond:[{$eq:["$clked",true]},1,0]}},bid:{$sum:{$cond:[{$eq:["$clked",true]},"$bid",0]}}}});我停在这里:Aggrega

java - 如何限制 Spring data Mongo 的 map reduce 方法返回的 MapReduceResults 的大小

当使用spring-data-mongodb的MongoTemplate执行mapreduce操作时,该方法返回一个MapReduceResults对象。在我的用例中,未使用此对象(及其内容)(结果与数据库中的现有集合合并)。似乎MongoDB驱动程序向结果返回了一个游标(无数据),但spring库将此游标解析为实际的数据库对象。这会导致大量数据通过网络传递,调用作业会因OutOfMemoryError而失败。有没有什么方法(不用直接下降到MongoDB驱动程序)来限制Spring层返回给调用方法的数据库对象的数量?mongo-java-driver-2.12.1spring-data

mongodb - 在 spring-data mongodb 中对数组进行排序

我有一个像这样的集合:{"x":{"y":[{"date":ISODate("2014-07-24T21:00:00.000Z"),"k":5},{"date":ISODate("2014-07-22T21:00:00.000Z"),"k":6}]}}我想根据“日期”参数对y数组进行排序。所以我编写了这样的代码:query.with(newSort(Sort.Direction.ASC,"y.date"));我想这样输出:{"x":{"y":[{"date":ISODate("2014-07-22T21:00:00.000Z"),"k":5},{"date":ISODate("2014

mongodb - Mongo 副本集 `rs.add()` 使初始主要次要并呈现主要 `fatal`

我这辈子都做不到,我无法获得>1个成员的副本设置。我开始了一个似乎正确的主要任务:sb-rs:PRIMARY>rs.status(){"set":"sb-rs","date":ISODate("2014-09-16T22:38:53Z"),"myState":1,"members":[{"_id":0,"name":"primary-hostname:27017","health":1,"state":1,"stateStr":"PRIMARY","uptime":1213,"optime":Timestamp(1410904778,2),"optimeDate":ISODate("2

java - 是否可以使用 Spring Data 和 MongoDB 的索引功能从子类中索引父类(super class)的公共(public)字段?

我正在尝试从我的应用程序中简化域和模型维护,基本上我想为服务器端和客户端提供一组通用类。假设我们有一个简单的类,我们想在服务器端和客户端使用:publicclassTag{publicStringname;}然后是它的一个子类,它只存在于服务器端,我想确保字段name被索引到@MongoDB级别:importorg.springframework.data.mongodb.core.index.Indexed;importorg.springframework.data.mongodb.core.mapping.Document;@DocumentpublicclassTagServe

mongodb - Spring Data MongoDB聚合场景

如何翻译$group:{_id:1,likes:{$avg:{$size:["$likes"]}},count:{$sum:1},}进入spring-data-mongodb聚合查询? 最佳答案 您可以使用以下代码:ArrayListlist=newArrayList();list.add("$likes");BasicDBObjectidObj=newBasicDBObject("_id",1);BasicDBObjectlikesObj=newBasicDBObject("$avg",newBasicDBObject("$siz

java - Spring Data 和 MongoDB - deleteBy 上的 UnsupportedOperationException

我在SpringData和MongoDB上遇到了这个问题。我使用的是MongoDB3.x、Springdata1.7(我也尝试过1.8)和JavaMongoDBDriver3.0.1。当我尝试从我的数据库中删除一个产品时,它实际上工作正常,但我得到了这个:java.lang.UnsupportedOperationException:Cannotgetnpropertyforanunacknowledgedwriteatcom.mongodb.WriteResult.throwIfUnacknowledged(WriteResult.java:128)atcom.mongodb.Wri