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代码部分实现。主要是红色部分代码。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值