コードコピーは次のとおりです。
パッケージmymaven;
java.net.unknownhostexceptionをインポートします。
java.util.setをインポートします。
com.mongodb.basicdbobjectをインポートします。
com.mongodb.dbをインポートします。
com.mongodb.dbcollectionをインポートします。
com.mongodb.dbcursorをインポートします。
com.mongodb.dbobjectをインポートします。
com.mongodb.mongoをインポートします。
com.mongodb.mongoexceptionをインポートします。
パブリッククラステスト{
public static void main(string [] args)throws nowndhostexception、mongoexception {
Mongo Mongo = New Mongo( "172.27.9.104"、27017);
db db = mongo.getdb( "mytestdb");
<string> cols = db.getCollectionNames();
//データベースにコレクションを印刷してください、ここにはnullである必要があります
for(string s:cols){
System.out.println(s);
}
dbcollection collection = db.getCollection( "mytestcoll");
collection.drop();
basicdbobject obj = new BasicDboBject();
obj.put( "from"、 "blog.ihomer.net");
obj.put( "to"、 "forum.ithomer.net");
obj.put( "件名"、 "ithomer.net");
collection.insert(obj);
dbobject dbobj = collection.findone();
system.out.println(dbobj);
// 10 {ランキング:i}データを挿入します
for(int i = 0; i <10; i ++){
collection.insert(new BasicDboBject()。append( "lanking"、i));
}
System.out.println( "count:" + collection.getCount());
dbcursor cursor = collection.find();
while(cursor.hasnext()){
system.out.println(cursor.next());
}
//ランキング1のクエリレコード、単純な条件付きクエリ
BASICDBOBJECT query = new BasicDBoBject();
query.put( "ランキング"、1);
cursor = collection.find(query);
system.out.println( "collection find({/" lankink/":1}):");
while(cursor.hasnext()){
system.out.println(cursor.next());
}
//複雑な条件付きクエリ、5以上のランキングが9以下のクエリレコード
query = new BasicDboBject();
query.put( "lankink"、new BasicDboBject( "$ gte"、5).append( "$ lt"、9));
cursor = collection.find(query);
system.out.println( "collection find({/" lankink/":[5-9)}):");
while(cursor.hasnext()){
system.out.println(cursor.next());
}
// mongo.dropdatabase( "mytestdb");
}
}
実行結果:
コードコピーは次のとおりです。
myTestColl
system.indexes
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd10107"}、 "from": "blog.ihomer.net"、 "to": "forum.ihomer.net"、 "subject": "ihomer.net"}}}
カウント:11
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd10107"}、 "from": "blog.ihomer.net"、 "to": "forum.ihomer.net"、 "subject": "ihomer.net"}}}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd10108"}、 "ランキング":0}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd10109"}、 "ランキング":1}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010a"}、 "ランキング":2}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010b"}、 "ランキング":3}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010c"}、 "ランキング":4}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010d"}、 "ランキング":5}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010e"}、 "ランキング":6}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010f"}、 "ランキング":7}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd10110"}、 "ランキング":8}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd10111"}、 "ランキング":9}
Collection find({"ランキング":1}):
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd10109"}、 "ランキング":1}
コレクションfind({"ランキング":[5-9)}):
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010d"}、 "ランキング":5}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010e"}、 "ランキング":6}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd1010f"}、 "ランキング":7}
{"_id":{"$ oid": "52c62ed8e4b0f4de3dd10110"}、 "ランキング":8}
MongoDBアレイの例:
コードコピーは次のとおりです。
@suppresswarnings( "unchecked")
public static void loadmediatags(list <mediaentity> mediaentityList){
MediaEntityList.Clear();
試す {
Mongo Mongo = New Mongo(cosinecluster.gmongo_host、cosinecluster.gmongo_port);
db db = mongo.getdb(cosinecluster.gmongo_db);
dbcollection collection = db.getCollection(cosinecluster.gmongo_coll_media);
dbcursor cursor = collection.find();
int index = 0;
long starttime = system.currenttimemillis();
while(cursor.hasnext()){
BASICDBOBJECT OBJ =(BASICDBOBJECT)CURSOR.NEXT();
long id = obj.getlong( "_ id");
ArrayList <String> Taglist =(ArrayList <String>)obj.get( "tag"); // tag
arrayList <string> keywordList =(arraylist <string>)obj.get( "keyword"); // keyword
ArrayList <Integer> CopyrightList =(ArrayList <Integer>)obj.get( "Copyright"); // Copyright
MediaEntity Mediaentity = new MediaEntity();
MediaEntity.SetID(ID);
//タグ
for(int j = 0; j <taglist.size(); j ++){
MediaEntity.Addtag(taglist.get(j));
int tagid = gettagint(taglist.get(j));
MediaEntity.AddTag(TagID);
}
//俳優
ArrayList <DBOBICT> ActorSoBJList =(ArrayList <DBoBject>)obj.get( "Actors"); // Actors
for(int j = 0; j <actorsobjlist.size(); j ++){
mediaEntity.addactor((string)actorsobjlist.get(j).get( "name"));
int actorid = getActorint((string)Actorsobjlist.get(j).get( "name"));
MediaEntity.Addactor(ActorID);
}
// 監督
arrayList <DBOBICT> DIRECTOROBJLIST =(ARRAYLIST <DBOBICT>)obj.get( "Director"); // Director
for(int j = 0; j <dirficlobjlist.size(); j ++){
mediaEntity.adddirector((string)directorobjlist.get(j).get( "name"));
int directorid = getDirectorInt((string)directorobjlist.get(j).get( "name"));
MediaEntity.AddDirector(DirectorID);
}
//キーワード
for(int j = 0; j <keywordlist.size(); j ++){
mediaEntity.addkeyword(keywordlist.get(j));
int keywordid = getKeyWordint(keywordlist.get(j));
mediaEntity.addkeyword(keywordid);
}
//著作権
for(int j = 0; j <copyrightlist.size(); j ++){
MediaEntity.addcopyright(copyrightlist.get(j));
}
MediaEntityList.Add(MediaEntity);
インデックス++;
if(index> 100){
壊す;
}
system.out.println(index + "--- mediaEntity:" + mediaEntity.toString());
}
long costtime = system.currenttimemillis() - starttime;
system.out.println( "load data costtime =" + index + "; costtime =" + costtime/1000f);
} catch(例外e){
e.printstacktrace();
}
}
public static int gettagint(string tag){
int tagintid = -1;
試す {
mongoclient mongo = new mongoclient(cosinecluster.gmongo_host、cosinecluster.gmongo_port);
db db = mongo.getdb(cosinecluster.gmongo_db);
dbcollection tagmapcollection = db.getCollection( "busment_tag_map");
dbcursor cursor = tagmapcollection.find(new BasicDbobject( "name"、tag));
if(cursor == null || cursor.toarray()。size()<= 0){//マッピングキーワードが2またはn未満、以下と同じ
tagintidを返します。
}
dbobject obj = cursor.toarray()。get(0);
文字列name = tag;
tagintid =(integer)obj.get( "id");
int num =(integer)obj.get( "num");
mongo.close();
} catch(unknownhostexception e){
e.printstacktrace();
}
tagintidを返します。
}
public static int getActorint(String Actor){
int actorintid = -1;
試す {
mongoclient mongo = new mongoclient(cosinecluster.gmongo_host、cosinecluster.gmongo_port);
db db = mongo.getdb(cosinecluster.gmongo_db);
dbcollection tagmapcollection = db.getCollection( "busment_actor_map");
dbcursor cursor = tagmapcollection.find(new BasicDbobject( "name"、Actor));
if(cursor == null || cursor.toarray()。size()<= 0){
Return ActorIntid;
}
dbobject obj = cursor.toarray()。get(0);
文字列名= actor;
ActorIntid =(integer)obj.get( "id");
int num =(integer)obj.get( "num");
mongo.close();
} catch(unknownhostexception e){
e.printstacktrace();
}
Return ActorIntid;
}