草庐IT

Mongotemplate

全部标签

java - 通过 Spring 连接 mongodb 时创建名称为 'mongoTemplate' 的 bean 时出错

我正在尝试将mongoDb与Spring的mongoTemplate连接起来。我还尝试将“spring-data-mongodb”的版本从1.7.2.RELEASE更改为1.8.2.RELEASE,但即使那样也没有用。下面是我在项目中使用的代码。这是我的pom.xml4.0.0com.storeAppstoreApp0.0.1-SNAPSHOTStoreApplicationorg.springframework.bootspring-boot-starter-parent1.4.1.RELEASEorg.springframeworkspring-core4.2.4.RELEASE-

spring - 如何配置 Spring Repository 以使用 xml bean 中定义的 mongoTemplate?

代码执行正常,但在默认的mongo数据库和位置创建集合,即在test数据库@localhost:27017中。在通过以下xml连接的mongoTemplatebean中,我使用mydb作为数据库,mongod实例在localhost:27018运行。但是,数据仍然保存到默认实例和数据库。在src/main/resources/mongo-context.xml中定义的MongoDBXMLBean:播放列表存储库:packagecore.repository;importcore.dao.Playlist;importorg.springframework.beans.factory.a

mongodb - MongoTemplate.save 上出现意外的 OptimisticLockingException

我正在尝试使用MongoTemplate存储一个名为Person的实体。由于我想使用乐观锁定,因此使用@Version注释对实体进行版本控制。当我尝试使用MongoTemplate.save将一个新的Person实体存储到一个空集合中时,我得到了OptimisticLockingException。我没想到会这样,因为我正在创建一个新对象而不是更新现有对象。(并且没有其他线程正在访问该集合。)这是预期的行为,还是我做错了什么?(如果我改用MongoOperations.insert,一切正常。(不过我想使用保存,因为CrudRepository只有保存,没有更新。)如果我删除@Vers

java - 如何使用 Spring MongoTemplate 将 Java 8 Instant 作为 Date 类型保存到 MongoDB?

我有一个Java类,它有一个Instant类型的成员变量:publicclassSomeRecord{privateStringsomeId;privateInstantsomeInstant;//gettersandsetters}我正在使用MongoTemplate更新数据库中的someInstant字段:publicSomeRecordupdateSomeRecordBySomeId(finalStringsomeId,ObjectsomeInstant){Queryquery=newQuery();query.addCriteria(Criteria.where("someId

java - MongoTemplate:符合特定条件的文档的键值求和

我的以下mongodb查询按预期工作db.importedDataItems.aggregate({$match:{mobile:"1234567890"}},{$group:{_id:'mobile',calls:{$sum:'$calls'}}})但即使在引用thesequestions&tutorial之后,其等效的Java代码...Aggregationagg=Aggregation.newAggregation(Aggregation.match(Criteria.where("mobile").is("1234567890"),Aggregation.group("mobi

java - Spring Data mongoTemplate.save() 行为

当您使用mongoTemplate.save()保存文档时,它会破坏数据库文档中所有未映射的字段。例如,您有一个集合“myDocument”,其中包含mongodb中的文档:{"_id":ObjectId("552402c3186eb112488b45ea"),"field1":"value1","field2":"value2"}你的域对象看起来像:publicclassMyDocument{@IdprivateStringid;privateStringfield1;//getterandsetter}更新您的文档后:MyDocumentdoc=myDocumentReposito

java - com.mongodb.DBPortPool 得到错误警告 : emptying DBPortPool to/IP:27017 b/c of error using spring MongoTemplate

使用org.springframework.data.mongodb.core.MongoTemplate在您的代码尝试使用它之前,MongoDB驱动程序似乎无法从连接池中删除丢弃的套接字错误如下:2013-9-29:13:16com.mongodb.DBPortPoolgotError警告:emptyingDBPortPoolto/IP:27017b/coferrorjava.net.SocketException:Connectionresetbypeer:socketwriteerroratjava.net.SocketOutputStream.socketWrite0(Nati

java - 通过 Spring MongoTemplate 聚合以获得集合的最大值

我想按最近的日期查找用户(假设User对象有一个date字段)。数据存储在MongoDB中并通过SpringMongoTemplate.访问原始数据示例:{userId:1,date:10}{userId:1,date:20}{userId:2,date:50}{userId:2,date:10}{userId:3,date:10}{userId:3,date:30}查询应该返回{{userId:1,date:20},{userId:2,date:50},{userId:3,date:30}}我使用的聚合方法是db.table1.aggregate({$group:{'_id':'$u

java - 带条件的 mongotemplate 聚合

我有一个集合,其中的文档如下所示:{_id:"545b9fa0dd5318a4285f7ce7",owner:"admin",messages:[{id:"100",status:"sent",note:""},{id:"100",status:"pending",note:""},{id:"101",status:"sent",note:""},{id:"102",status:"sent",note:""},{id:"101",status:"done",note:""}]}(这只是一个简短的例子,在我的例子中子数组非常大)我需要查询集合并获取特定文档的一些统计信息。所以在这个例子

Spring data mongodb 使用 MongoTemplate 从文档中删除属性

我有一个如下图所示的文件{"_id":ObjectId("5864ddd8e38112fd70b89893"),"_class":"com.apic.models.UserReg","name":"xxx","email":"xxx.xxx@xxx.com""activationToken":"fe8376ea2dbdf61ebc"}如何使用SpringMongoTemplate从中删除属性activationToken? 最佳答案 以下示例使用$unset从电子邮件为xxx.xxx@xxx.com的文档中删除属性activatio