MongoDB学习笔记-安装部署和简易API操作

来源:互联网 发布:java ll 和 编辑:程序博客网 时间:2024/04/29 04:27

解压安装包

tar -xzvf mongodb-linux-x86_64-ubuntu1404-3.2.8.tgz


启动MongoDB方法一:

bin/mongod --dbpath=/home/hadoop/Software/mongodb-3.2.8/datas/instance00 --logpath=/home/hadoop/Software/mongodb-3.2.8/logs/instance00.log --fork
或者
bin/mongod --dbpath=/home/hadoop/Software/mongodb-3.2.8/datas/instance00 --logpath=/home/hadoop/Software/mongodb-3.2.8/logs/instance00.log  &

--dbpath执行数据库存放路径(默认是/data/db)
--logpath日志文件存放路径
--fork是以Daemon进程方式运行
注意:如果指定--fork参数,必须指定--logpaht日志文件路径

启动MongoDB方法二:
新建一个配置文件conf/mongodb.conf,添加以下内容
dbpath=/home/hadoop/Software/mongodb-3.2.8/datas/instance00logpath=/home/hadoop/Software/mongodb-3.2.8/logs/instance00.logbind_ip=192.168.10.20port=27017fork=true
然后执行 mongodb-3.2.8$ bin/mongod -f conf/mongodb.conf

开机启动,修改/etc/rc.d/rc.local 
 /home/hadoop/Software/mongodb-3.2.8/bin/mongod --dbpath=/home/hadoop/Software/mongodb-3.2.8/datas/instance00 --logpath=/home/hadoop/Software/mongodb-3.2.8/logs/instance00.log --fork 
或者
/home/hadoop/Software/mongodb-3.2.8/bin/mongod –config /home/hadoop/Software/mongodb-3.2.8/bin/mongodb.conf

进入客户端Shell
/home/hadoop/Software/mongodb-3.2.8/bin/mongo

新建用户与认证
>use admin
>db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
>db.auth("root", "123456")

启动方式需要修改为
/home/hadoop/Software/mongodb-3.2.8/bin/mongod --dbpath=/home/hadoop/Software/mongodb-3.2.8/data/instance00 --logpath=/home/hadoop/Software/mongodb-3.2.8/logs/instance00.log -auth --fork
或修改conf/mongodb.conf文件,添加
auth=true

Java API 操作
import java.util.ArrayList;import java.util.List;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.ServerAddress;public class MongoDBClient {private MongoClient mongoClient = null;private MongoDBClient() {initMongoClient();}private static class MongoDBClientHolder {private static final MongoDBClient INSTANCE = new MongoDBClient();}public static final MongoDBClient getInstance() {return MongoDBClientHolder.INSTANCE;}private void initMongoClient() {List<ServerAddress> serverAddressList = new ArrayList<ServerAddress>();ServerAddress serverAddress = new ServerAddress("192.168.0.103", 27017);serverAddressList.add(serverAddress);List<MongoCredential> credentials = new ArrayList<MongoCredential>();MongoCredential credential = MongoCredential.createCredential("root", "admin", "123456".toCharArray());credentials.add(credential);mongoClient = new MongoClient(serverAddressList, credentials);}public MongoClient getClient() {return mongoClient;}}

import java.util.ArrayList;import java.util.List;import org.bson.Document;import org.junit.Test;import com.mongodb.BasicDBObject;import com.mongodb.MongoClient;import com.mongodb.bulk.BulkWriteResult;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.DeleteOneModel;import com.mongodb.client.model.InsertOneModel;import com.mongodb.client.model.UpdateOneModel;import com.mongodb.client.model.WriteModel;import com.mongodb.client.result.UpdateResult;public class MongoDBClientTest {@Testpublic void insertCollection() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");database.createCollection("test");mongoClient.close();}@Testpublic void insertOne() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");Document document1 = new Document();document1.append("id", 1).append("username", "zhangsan").append("password", "zhangsan");collection.insertOne(document1);Document document2 = new Document();document2.put("id", 2);document2.put("username", "lisi");document2.put("password", "lisi");collection.insertOne(document2);mongoClient.close();}@Testpublic void insertMany() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");List<Document> documents = new ArrayList<Document>();Document document = null;for (int i = 10; i < 20; i++) {document = new Document();document.append("id", i).append("username", "lisi" + i).append("password", "lisi" + i);documents.add(document);}collection.insertMany(documents);mongoClient.close();}@Testpublic void updateOne() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");    Document filter = new Document();    filter.put("id", 4);    filter.put("username", "lisi");    filter.put("password", "lisi");    Document updateContent = new Document();    updateContent.put("username", "lisinew");    updateContent.put("password", "lisinew");    BasicDBObject update = new BasicDBObject("$set", updateContent);     UpdateResult result = collection.updateOne(filter, update);System.out.println(result.wasAcknowledged());System.out.println(result.getMatchedCount());System.out.println(result.getModifiedCount());}@Testpublic void updateMany() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");    Document filter = new Document();    filter.put("username", "zhangsan");    Document updateContent = new Document();    updateContent.put("username", "zhangsanupdate");    updateContent.put("password", "zhangsanupdate");    Document update = new Document("$set", updateContent);     UpdateResult result = collection.updateMany(filter, update);System.out.println(result.wasAcknowledged());System.out.println(result.getMatchedCount());System.out.println(result.getModifiedCount());}@Testpublic void delete() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");    Document filter = new Document();    filter.put("id", 2);Document deleteDocuemnt = collection.findOneAndDelete(filter);System.out.println(deleteDocuemnt);}@Testpublic void findByFilter() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");    Document filter = new Document();    filter.put("id", 1);FindIterable<Document> docs = collection.find(filter);MongoCursor<Document> iterator = docs.iterator();while (iterator.hasNext()) {Document doc = iterator.next();System.out.println(doc);}mongoClient.close();}@Testpublic void findAll() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");FindIterable<Document> docs = collection.find();MongoCursor<Document> iterator = docs.iterator();while (iterator.hasNext()) {Document doc = iterator.next();System.out.println(doc);}mongoClient.close();}@Testpublic void findAllWithPagination() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");FindIterable<Document> docs = collection.find().skip(5).limit(5);MongoCursor<Document> iterator = docs.iterator();while (iterator.hasNext()) {Document doc = iterator.next();System.out.println(doc);}mongoClient.close();}@Testpublic void bulk() {MongoClient mongoClient = MongoDBClient.getInstance().getClient();MongoDatabase database = mongoClient.getDatabase("admin");MongoCollection<Document> collection = database.getCollection("test");List<WriteModel<Document>> requests = new ArrayList<WriteModel<Document>>();Document insertOneDoc = new Document();insertOneDoc.append("id", 6).append("username", "zhangsan6").append("password", "zhangsan6");InsertOneModel<Document> insertOne = new InsertOneModel<Document>(insertOneDoc);requests.add(insertOne);Document filter = new Document();    filter.put("id", 4);    Document updateContent = new Document();    updateContent.put("username", "lisibulkupdate");    updateContent.put("password", "lisibulkupdate");    Document update = new Document("$set", updateContent); UpdateOneModel<Document> updateOne = new UpdateOneModel<Document>(filter, update);requests.add(updateOne);Document deleteFilter = new Document();deleteFilter.put("id", 4);DeleteOneModel<Document> deleteOne = new DeleteOneModel<Document>(deleteFilter);requests.add(deleteOne);BulkWriteResult bwr = collection.bulkWrite(requests);System.out.println(bwr.getMatchedCount());System.out.println(bwr.getInsertedCount());System.out.println(bwr.getModifiedCount());System.out.println(bwr.getDeletedCount());mongoClient.close();}}




0 0
原创粉丝点击