什么是MongoDB
MongoDB是当前最受欢迎的新一代数据库。相比于传统关系数据库,MongoDB对于大数据,高并发以及高可靠性有强大的支持。相比于其他的NoSQL数据库,MongoDB的基于文档的数据模型及其动态建模的特性使得它更加自由灵活,适用于各种应用场景如CRM,内容管理,事件纪录,商情分析,手机应用,社交等等
JavaAPI的简单操作
import com.alibaba.fastjson.JSON;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.io.Serializable;
/**
* @ClassName: TestMongoDB
* @Description:
* @Author: xuezhouyi
* @Version: V1.0
**/
public class TestMongoDB {
public static void main(String[] args) {
/* 创建mongo客户端 */
MongoClient client = new MongoClient("localhost", 27017);
/* 获取myDB数据库对象 */
MongoDatabase myDB = client.getDatabase("mydb");
/* 获取users集合 */
MongoCollection<Document> users = myDB.getCollection("users");
/* 创建测试对象 */
Student student = new Student("Jack", 18);
/* 对象转Json */
String stuJson = JSON.toJSONString(student);
/* 将Json转为文档 */
Document doc = Document.parse(stuJson);
/* 将文档插入users集合中 */
users.insertOne(doc);
/* 从集合中查找第一个文档 */
Document firstObj = users.find().first();
/* 将文档转换成对象 */
Student stu = JSON.parseObject(firstObj.toJson(), Student.class);
}
public static class Student implements Serializable {
private String name;
private Integer age;
public Student(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" + "name='" + name + '\'' + ", age=" + age + '}';
}
}
}