输入:cd ~
输入:mkdir –p ./data/db
输入:mongod –dbpath=./data/db
不要关闭终端,再打开另一个终端
输入:mongo
mongodb shell界面创建数据库
输入:use kaili
创建集合
输入:db.createCollection(“student”)
插入数据5条不同的数据
输入:db.student.insert({"name":"xiaoming","cla":"16","age":19})
输入:db.student.insert({"name":"xiaoming2","cla":"16","age":20})
输入:db.student.insert({"name":"xiaoming3","cla":"14","age":24})
输入:db.student.insert({"name":"xiaoming4","cla":"13","age":23})
输入:db.student.insert({"name":"xiaoming5","cla":"12","age":22})
二、建立java工程
1、打开eclipse,并新建java工程
2、工程目录下新建lib文件夹
3、导入mongodb包,复制到lib文件夹下。并且工程引用
下载地址:https://github.com/sparkxgd/edu/archive/master.zip
4、工程目录下src目录下新建com包
5、在com下创建Test、MongoDB、Student类
MongoDB.java
package com;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
public class MongoDB {
private MongoClient mongoClient;
private MongoDatabase mongoDatabase;
/**
* 启动
* @param host
* @param port
*/
public MongoDB(String host,int port,String dbname) {
// 连接到 mongodb 服务
try {
mongoClient = new MongoClient(host,port);
// 连接到数据库
mongoDatabase = mongoClient.getDatabase(dbname);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 停止
* @return
*/
public void stop() {
if(mongoClient!=null) {
mongoClient.close();
}
}
public MongoDatabase getDB() {
return mongoDatabase;
}
}
Student .java
package com;
import org.bson.Document;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.model.Filters;
import com.mongodb.client.result.UpdateResult;
public class Student {
private MongoCollection collection;
private String tableName ="student";
public Student(MongoDB mongo) {
this.collection = mongo.getDB().getCollection(tableName);
}
//插入文档
/**
* 1. 创建文档 org.bson.Document 参数为key-value的格式
* 2. 创建文档集合List
* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List) 插入单个文档可以用 mongoCollection.insertOne(Document)
* */
public boolean add(Document document) {
collection.insertOne(document);
return true;
}
/**
* 删除
* @param fieldName
* @param value
* @return
*/
public boolean delOne(String fieldName, Object value) {
collection.deleteOne(Filters.eq(fieldName, value));
return true;
}
//检索所有文档
/**
* 1. 获取迭代器FindIterable
* 2. 获取游标MongoCursor
* 3. 通过游标遍历检索出的文档集合
* */
public FindIterable find() {
FindIterable findIterable = collection.find();
return findIterable;
}
public UpdateResult update(String fieldName, Object value,String upatefieldName, Object updatevalue) {
//更新文档 将文档中likes=100的文档修改为likes=200
UpdateResult r=collection.updateMany(Filters.eq(fieldName, 100), new Document("$set",new Document(upatefieldName,updatevalue)));
return r;
}
}
Test.java
package com;
import org.bson.Document;
import com.MongoDB;
import com.Student;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCursor;
public class Test {
public static void main(String[] args) {
String host="192.168.26.111";//ip地址
int port=27017 ;
String dbname="kaili";//数据库名
MongoDB mongo=new MongoDB(host, port, dbname);
Student st=new Student(mongo);
//查找数据
FindIterable findIterable =st.find();
MongoCursor mongoCursor = findIterable.iterator();
//遍历出来
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}
}
}