Java mongodb基本操作入門
14271 ワード
ダウンロード:https://www.mongodb.org/downloads
複数バージョンのダウンロード:https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl
http://downloads.mongodb.org/win32/mongodb-win32-x86_64-latest.zip
http://docs.mongodb.org/manual/
データベースの起動:./bin/mongod--dbpath=data mongo shellアクセスデータベースbin/mongo httpデータベースの表示:http://192.168.1.132:27017/基本操作:挿入:db.person.insert({“name”:“jack”,“age”:20});db.person.insert({"name":"joe","age":25}); db.person.insert({"name":"java","age":23}); 検索:db.person.find();db.person.find({"name":"java"}); db.person.find({"age":23}); db.person.update(「name」:「java」}、「name」:「java_name」、「age」:1024})を更新します.削除:db.person.remove({"name":"java_name"});http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html readmeドキュメント:
この例の前にmongod.exeのサービスを起動する必要があります.起動すると、次のプログラムがスムーズに実行されます.
1、SimpleTest.javaを創立して、簡単なmongodyデータベース操作を完成する
Mongo mongo = new Mongo();
これにより、現在のマシンのlocalhostアドレスにデフォルトで接続されたMongoDBのデータベース接続オブジェクトが作成され、ポートは27017です.
DB db = mongo.getDB(“test”);
これによりtestのデータベースが得られ,mongodbにこのデータベースが作成されていなければ正常に動作する.前の記事を読んだことがあるなら、mongodyはこのデータベースを作成せずにデータの追加操作を完了することができます.追加すると、このライブラリがない場合、mongodbは自動的に現在のデータベースを作成します.
dbが得られました.次に、dbオブジェクトのgetCollectionメソッドで完了する「集約コレクションDBCollection」を取得します.
DBCollection users = db.getCollection("users");
これにより、データベースの「テーブル」に相当するDBCollectionが得られます.
複数バージョンのダウンロード:https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl
http://downloads.mongodb.org/win32/mongodb-win32-x86_64-latest.zip
http://docs.mongodb.org/manual/
データベースの起動:./bin/mongod--dbpath=data mongo shellアクセスデータベースbin/mongo httpデータベースの表示:http://192.168.1.132:27017/基本操作:挿入:db.person.insert({“name”:“jack”,“age”:20});db.person.insert({"name":"joe","age":25}); db.person.insert({"name":"java","age":23}); 検索:db.person.find();db.person.find({"name":"java"}); db.person.find({"age":23}); db.person.update(「name」:「java」}、「name」:「java_name」、「age」:1024})を更新します.削除:db.person.remove({"name":"java_name"});http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html readmeドキュメント:
COMPONENTS
bin/mongod - The database process.
bin/mongos - Sharding controller.
bin/mongo - The database shell (uses interactive javascript).
UTILITIES
bin/mongodump - MongoDB dump tool - for backups, snapshots, etc..
bin/mongorestore - MongoDB restore a dump
bin/mongoexport - Export a single collection to test (JSON, CSV)
bin/mongoimport - Import from JSON or CSV
bin/mongofiles - Utility for putting and getting files from MongoDB GridFS
bin/mongostat - Show performance statistics
RUNNING
For command line options invoke:
$ ./mongod --help
To run a single server database:
$ mkdir /data/db
$ ./mongod
$
$ # The mongo javascript shell connects to localhost and test database by default:
$ ./mongo
> help
DRIVERS
Client drivers for most programming languages are available at mongodb.org. Use the
shell ("mongo") for administrative tasks.
BIT BUILD NOTES
MongoDB uses memory mapped files. If built as a 32 bit executable, you will
not be able to work with large (multi-gigabyte) databases. However, 32 bit
builds work fine with small development databases.
Java操作mongodb例:この例の前にmongod.exeのサービスを起動する必要があります.起動すると、次のプログラムがスムーズに実行されます.
1、SimpleTest.javaを創立して、簡単なmongodyデータベース操作を完成する
Mongo mongo = new Mongo();
これにより、現在のマシンのlocalhostアドレスにデフォルトで接続されたMongoDBのデータベース接続オブジェクトが作成され、ポートは27017です.
DB db = mongo.getDB(“test”);
これによりtestのデータベースが得られ,mongodbにこのデータベースが作成されていなければ正常に動作する.前の記事を読んだことがあるなら、mongodyはこのデータベースを作成せずにデータの追加操作を完了することができます.追加すると、このライブラリがない場合、mongodbは自動的に現在のデータベースを作成します.
dbが得られました.次に、dbオブジェクトのgetCollectionメソッドで完了する「集約コレクションDBCollection」を取得します.
DBCollection users = db.getCollection("users");
これにより、データベースの「テーブル」に相当するDBCollectionが得られます.
package com.jiepu.mongodb;
import java.util.Set;
import org.bson.Document;
import com.alibaba.fastjson.JSON;
import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBObjectBuilder;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.client.result.UpdateResult;
/**
* Hello world!
*
*/
public class App {
//private static String ip="192.168.1.132";
private static String ip="127.0.0.1";
private static int port=27017;
public static void main(String[] args) {
test001();
//test002();
//test003();
System.out.println("Hello World!");
}
private static void test003() {
System.out.println("============");
Mongo mg = new Mongo(ip, port);
System.out.println(mg.getDatabaseNames());
DB db = mg.getDB("test");
Set collectionNames = db.getCollectionNames();
for (String string : collectionNames) {
System.out.println(string);
}
// db
DBCollection dbCollection = db.getCollection("person");
DBCursor cur = dbCollection.find();
while (cur.hasNext()) {
System.out.println(cur.next());
}
}
private static void test001() {
System.out.println("====== api======");
MongoClient mongoClient = new MongoClient(ip, port);
System.out.println(" :"+mongoClient.getDatabaseNames());
MongoDatabase database = mongoClient.getDatabase("test");
MongoIterable names=database.listCollectionNames();
for (String string : names) {
System.out.println(" :"+string);
}
MongoCollection collections = database
.getCollection("person");
//
collections.drop();
/*
FindIterable findIterable = collections.find();
for (Document document : findIterable) {
System.out.println(document);
}*/
collections.createIndex(new BasicDBObject("name",1));//1
for(int i=0;i<15;i++)
{
Document cDocument=new Document();
cDocument.put("name", "data"+i);
cDocument.put("age", 32+i);
//add
collections.insertOne(cDocument);
}
//delete
collections.deleteOne(new BasicDBObject("name","data2"));
collections.deleteMany(new BasicDBObject("name","data3"));
int count=0;
for (Document document : collections.find()) {
System.out.println(document);
count++;
}
System.out.println("count="+count);
System.out.println("find ");
//find
for (Document document : collections.find(new BasicDBObject("age",33)))
{
System.out.println(document.toJson());
}
//Document updateDocument=new Document("name","fuck");
//edit
//UpdateResult updateResult=collections.updateOne(new Document("name","data14"), new Document("name","nishizhu ").append("age", 1024));
//UpdateResult updateResult=collections.updateMany(new BasicDBObject("age","34"), new Document("name","fuck").append("age", 1024));
//System.out.println(JSON.toJSONString(updateResult));
//find
for (Document document : collections.find(new BasicDBObject("age",1024)))
{
System.out.println(document.toJson());
}
//collections.createIndex(builder.get());
mongoClient.close();
}
private static void test002() {
System.out.println("===== api=======");
MongoClient mongoClient = new MongoClient(ip, port);
System.out.println(" :"+mongoClient.getDatabaseNames());
DB db = mongoClient.getDB("test");
Set collectionNames = db.getCollectionNames();
for (String tablename : collectionNames) {
System.out.println(" :"+tablename);
}
// db
DBCollection dbCollection = db.getCollection("person2");
dbCollection.drop();
for(int i=0;i<15;i++)
{
BasicDBObject cDocument=new BasicDBObject();
cDocument.put("name", "data"+i);
cDocument.put("age", 32+i);
//add
dbCollection.insert(cDocument);
}
DBCursor cur = dbCollection.find();
System.out.println("count="+cur.count());
while (cur.hasNext()) {
DBObject dbObject=cur.next();
System.out.println(dbObject);
}
dbCollection.remove(new BasicDBObject("name","data13"));
dbCollection.update(new BasicDBObject("name","data14"), new BasicDBObject("name","nishizhu ").append("age", 1024));
cur = dbCollection.find();
System.out.println("count="+cur.count());
while (cur.hasNext()) {
System.out.println(cur.next());
}
}
}
package com.jiepu.mongodb;
import java.net.UnknownHostException;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.junit.Test;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.util.JSON;
public class TestMongoDriver {
@Test
public void testCRUD() throws UnknownHostException {
// mongodb
Mongo mongo = new Mongo("192.168.1.132", 27017);
// test
DB db = mongo.getDB("test");
//
Set colls = db.getCollectionNames();
for (String s : colls) {
System.out.println(s);
// Collection( " ")
if (!s.equals("system.indexes")) {
db.getCollection(s).drop();
}
}
// emp( :emp ,mongodb )
DBCollection coll = db.getCollection("emp");
// delete all
DBCursor dbCursor = coll.find();
for (DBObject dbObject : dbCursor) {
coll.remove(dbObject);
}
// create
BasicDBObject doc = new BasicDBObject("name", " ").append("sex", " ")
.append("address",
new BasicDBObject("postcode", "201202").append(
"street", " 888 ").append("city", " "));
coll.insert(doc);
// retrieve
BasicDBObject docFind = new BasicDBObject("name", " ");
DBObject findResult = coll.findOne(docFind);
System.out.println(findResult);
// update
doc.put("sex", "MALE");// sex " ", "MALE"
coll.update(docFind, doc);
findResult = coll.findOne(docFind);
System.out.println(findResult);
coll.dropIndexes();//
// create index
coll.createIndex(new BasicDBObject("name", 1)); // 1
//
UserData userData = new UserData("jimmy", "123456");
Set pets = new HashSet();
pets.add("cat");
pets.add("dog");
Map favoriteMovies = new HashMap();
favoriteMovies.put("dragons", "Dragons II");
favoriteMovies.put("avator", "Avator I");
userData.setFavoriteMovies(favoriteMovies);
userData.setPets(pets);
userData.setBirthday(getDate(1990, 5, 1));
BasicDBObject objUser = new BasicDBObject("key", "jimmy").append(
"value", toDBObject(userData));
coll.insert(objUser);
System.out.println(coll.findOne(objUser));
}
/**
* Object mongodb DBObject
*
* @param obj
* @return
*/
private DBObject toDBObject(Object obj) {
String json = com.alibaba.fastjson.JSON.toJSONString(obj);
return (DBObject) JSON.parse(json);
}
/**
*
*
* @param year
* @param month
* @param day
* @return
*/
private Date getDate(int year, int month, int day) {
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(year, month - 1, day);
return calendar.getTime();
}
}
package com.jiepu.mongodb;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
import java.util.Set;
public class UserData implements Serializable {
private static final long serialVersionUID = -4770493237851400594L;
private String userName;
private String password;
private Set pets;
private Map favoriteMovies;
private Date birthday;
public UserData() {
}
public UserData(String userName, String passWord) {
this.userName = userName;
this.password = passWord;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Set getPets() {
return pets;
}
public void setPets(Set pets) {
this.pets = pets;
}
public Map getFavoriteMovies() {
return favoriteMovies;
}
public void setFavoriteMovies(Map favoriteMovies) {
this.favoriteMovies = favoriteMovies;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
4.0.0
com.jiepu
mongodb
0.0.1-SNAPSHOT
jar
mongodb
http://maven.apache.org
UTF-8
com.alibaba
fastjson
1.1.41
junit
junit
4.10
test
org.mongodb
mongodb-driver
3.0.2
org.mongodb
mongo-java-driver
3.0.2
org.mongodb
bson
3.0.2