/******************************************************************************* * Copyright (c) 2013 hangum. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v2.1 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * Contributors: * hangum - initial API and implementation ******************************************************************************/ package com.hangum.tadpole.mongodb.core.test; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.WriteResult; import com.mongodb.util.JSON; /** * create collection (ref1, ref2) * ref1 and ref2- reference collection * * * see http://docs.mongodb.org/manual/applications/database-references/ * * @author hangum * */ public class MongoTestReferenceCollection { public static String REF_1 = "TEST_REF1"; public static String REF_2 = "TEST_REF2"; /** * @param args */ public static void main(String[] args) throws Exception { ConAndAuthentication testMongoCls = new ConAndAuthentication(); Mongo mongo = testMongoCls.connection(ConAndAuthentication.serverurl, ConAndAuthentication.port); DB db = mongo.getDB("test"); DBObject colInformation = (DBObject) JSON.parse("{capped:true, size:100000}"); DBCollection ref1Coll = db.getCollection(REF_1); if(ref1Coll != null) ref1Coll.drop(); ref1Coll = db.createCollection(REF_1, colInformation); DBObject dbObjRef1 = (DBObject) JSON.parse("{ 'name' : 'cho'}");//"{'names': {'First': 'Gonza', 'Last': 'Vieira'}}"); WriteResult wr = ref1Coll.insert(dbObjRef1); DBObject retDBObj = ref1Coll.findOne(); createRef1Collection(db, retDBObj.get("_id")); mongo.close(); } public static void createRef1Collection(DB db, Object objId) { DBObject colInformation = (DBObject) JSON.parse("{capped:true, size:100000}"); DBCollection ref2Coll = db.getCollection(REF_2); if(ref2Coll != null) ref2Coll.drop(); ref2Coll = db.createCollection(REF_2, colInformation); BasicDBObject insertObj = new BasicDBObject(); insertObj.put(REF_1 + "_id", objId); DBObject addField = new BasicDBObject(); addField.put("name", "Reference id"); insertObj.putAll(addField); // DBObject dbObjRef2 = (DBObject) JSON.parse("{'ref1_id': 50f9437cf023f820730a3b42, {'names': {'First': 'Gonza', 'Last': 'Vieira'}}}"); ref2Coll.insert(insertObj); } }