`

mongodb之DBRef的java应用

 
阅读更多

List<DBObject> listObj = new ArrayList<DBObject>();

DBCollection coll_A = CrawlerMongoDBManager.getCollection(Constant.DB_CONN_PRODUCT);

DBCollection coll_B = MatchMongodbManger.getCollection(

Constant.MONGODB_ITEM);

 

for (ItemVO itemVO : listvos) {

List<DBRef> listRef = new ArrayList<DBRef>();

List<DBObject> websiteList = new ArrayList<DBObject>();

String createTime = itemVO.getCreateTime();

String websiteId = itemVO.getWebsiteId();

String catalogId = itemVO.getCatalogId();

 

DBObject item = new BasicDBObject();

item.put("catalogId", catalogId);

item.put("websiteId", websiteId);

item.put("itemSku", itemVO.getItemId());

BasicDBObject keys = new BasicDBObject();

keys.put("_id", 1);

DBObject dbObject = coll.findOne(item,keys);

String pId = dbObject.get("_id") != null ? dbObject.get("_id")

.toString() : "";

 

DBRef refB = new DBRef(new  BMongodbManger().getDB(),

Constant.MONGODB_BRAND, new ObjectId(itemVO

.getBrandId()));

DBRef refP = new DBRef(new AMongoDBManager().getDB(),

Constant.DB_CONN_PRODUCT, new ObjectId(pId));

listRef.add(refP);

DBObject websiteObj = new BasicDBObject();

websiteObj.put("websiteId", websiteId);

websiteList.add(websiteObj);

DBObject subObj = new BasicDBObject();

subObj.put("brand", refB);

subObj.put("catalogId", catalogId);

subObj.put("createTime", createTime);

subObj.put("productList", listRef);

subObj.put("websiteList", websiteList);

 

listObj.add(subObj);

}

coll_match.insert(listObj);

 

上面为mongodb多表关联的java代码部分实现。主要是红色部分代码。

 

分享到:
评论
1 楼 greatwall3 2016-03-31  
引用
[i][i]第三方的神烦大叔地方地方[/i][/i]

相关推荐

    MongoDB支持的java数据类型和测试例子

    在Java开发中,MongoDB 提供了丰富的Java驱动程序,使得与Java应用程序的集成变得简单。本篇文章将深入探讨MongoDB支持的Java数据类型以及相关的测试例子。 1. **ObjectId**: MongoDB 使用ObjectId作为文档的默认...

    spring-data-mongodb api

    `@MongoDBRef`注解用于处理引用其他文档的关系,而`@DBRef`则用于处理MongoDB的DBRef。`@Field`用于指定文档中的字段映射。 7. **聚合框架**: Spring Data MongoDB提供了聚合操作的支持,允许开发者构建复杂的...

    基于mongodb官方Java驱动的orm框架,允许子类嵌套.zip

    这个压缩包“基于mongodb官方Java驱动的orm框架,允许子类嵌套.zip”显然是一个ORM(对象关系映射)框架,旨在简化Java应用与MongoDB之间的数据操作,特别是支持子类的嵌套结构。 ORM框架允许开发者用面向对象的...

    Spring-data + MongoDb源码

    Spring Data为MongoDB提供了一个强大的抽象层,使得开发者可以轻松地在Java应用中集成和操作MongoDB。 Spring Data MongoDB的核心概念是Repository抽象,它允许开发者定义自定义的查询方法,而无需编写SQL或MongoDB...

    MongoDB权威指南(中文版)高清

    1037.5 数据库引用 1047.5.1 什么是DBRef 1047.5.2 示例模式 1047.5.3 驱动对DBRef的支持 1057.5.4 什么时候该使用DBRef呢 106第8章 管理 1078.1 启动和停止MongoDB 1078.1.1 从命令行启动 1078.1.2...

    电子书:MongoDB权威指南(中文版)

    14110.5.2 多个mongos 14110.5.3 健壮的片 14110.5.4 物理服务器 14210.6 管理分片 14210.6.1 配置集合 14210.6.2 分片命令 143第11 章 应用举例 14511.1 化学品搜索引擎:Java 14511.2 新闻聚合器...

    spring +mongodb

    例如,使用`@Document`注解标记一个MongoDB实体类,`@Id`注解标识主键,`@DBRef`用于处理引用关系。 **2. 配置MongoDB** 在Spring应用中配置MongoDB通常涉及以下几个步骤: - 添加MongoDB和Spring Data MongoDB的...

    bookstore-mongodb-sample:适用于mongodb的Spring Boot 2应用程序。 CascadeSave和DBRef注释被广泛使用

    bookstore-mongodb-sample ...该项目使用@CascadeSave批注与@DBRef批注一起保存值,以使用单个给定的存储库保存实体。 使用gradlew bootRun执行应用程序 使用mongochef或mongo命令行查看保存的实体

    spring-data-mongodb:所有Spring Mongodb项目

    Spring Data MongoDB 是一个Java库,它是Spring Data框架的一部分,专门用于简化与...了解并熟练掌握Spring Data MongoDB,对于开发基于Java和MongoDB的应用程序至关重要,它可以帮助你构建高效、可维护的数据访问层。

    SpringMongoDBSample:使用SpringData访问MongoDB的简单例子

    通过学习和实践这个项目,你将掌握如何在Java应用中集成Spring Data MongoDB,理解如何定义数据模型,使用Repository接口,以及处理对象间的引用关系。这将帮助你更高效地开发基于MongoDB的应用程序。

    springboot-mongodb:springboot-mongodb

    在现代软件开发中,SpringBoot以其简洁的配置、快速的开发体验以及强大的生态系统,成为了Java开发者首选的框架之一。而MongoDB作为NoSQL数据库的代表,以其非关系型、分布式、高性能的特点,广泛应用于大数据、实时...

    MongoSpring:MongoDB与春天

    总的来说,MongoSpring项目是Java开发者使用MongoDB的利器,它结合了Spring的强大功能和MongoDB的灵活性,使得在Java环境下开发MongoDB应用变得更加容易。通过学习和掌握MongoSpring,开发者可以更好地理解和实践...

    spring-boot-mongodb

    Spring Boot通过Spring Data MongoDB模块提供与MongoDB的集成,使得在Java应用中操作MongoDB变得非常简单。 1. **配置MongoDB**: 在Spring Boot应用中,我们通常在`application.properties`或`application.yml`中...

    demo-onetomany-nosql:与OneToMany关系中的MongoDB的Spring Data演示项目

    2. **实体类**:Java类,代表MongoDB中的文档结构,通常会使用`@Document`注解标识,并可能使用`@Id`注解定义主键,以及`@DBRef`注解处理与其他实体的一对多关系。 3. **Repository接口**:这些接口继承自Spring ...

    mongo中模糊查询使用和QueryOperators参考.pdf

    MongoDB 是一个流行的开源文档型数据库,以其灵活性和高性能而受到开发者欢迎。在MongoDB中,数据以JSON格式存储,支持复杂查询操作。...了解并熟练运用这些技巧,将有助于提升MongoDB应用的开发效率和数据管理能力。

    Spring Data MongoDB中实现自定义级联的方法详解

    因此,当我们尝试保存一个包含`@DBRef`字段的实体时,MongoDB只会保存ID,而不会保存完整的引用实体。 为了解决这个问题,Spring Data MongoDB提供了一系列的生命周期事件,如`onBeforeConvert`, `onBeforeSave`, `...

    MongDB测试文档.pdf

    这些驱动程序允许开发者从各自的应用程序中与MongoDB进行交互。 9. **操作系统支持**:MongoDB支持在多种操作系统上运行,包括Linux、Mac OS X、Windows和Solaris,这说明了其良好的跨平台兼容性。 10. **sharding...

    demo-spring-data-mongodb-mock-data:使用Jackson2RepositoryPopulatorFactoryBean将json文件加载到mongodb中

    在开发应用程序时,刚开始时通常需要一些数据,将其放入应用程序中始终是一个问题,是否应该使用域模型以编程方式创建所有记录,是否应该将数据直接转储到数据库中? 下面的演示通过使用Jackson2...

Global site tag (gtag.js) - Google Analytics