1.下载安装
网址: Download MongoDB Community Server | MongoDB
下载后在本地C盘新建文件夹C:/data/db
进入安装目录bin文件夹打开cmd 执行
mongod --storageEngine=mmapv1
把存储挂载到本地目录
在bin目录下找到mongod双击打开数据库。
2.使用studio3t图形化工具连接mongdb
下载地址。 Download Studio 3T Community Edition
默认输入名称就可以。
3.开始使用mongdb
3.1. 创建数据库, 数据库里面collection, collection里面可以insert document
每个document是一个json
3.2.进行查询query也使用json, 比如{"id":"ObjectId("5e5142fa1996fb065563a5b6")"}
使用and进行查询
{
$and:[
{
"name":"peter"
},
{
"mail":"peter@gmail.com"
}
]
}
使用or进行查询
{
$or:[
{
"name":"peter"
},
{
"mail":"peter@gmail.com"
}
]
}
使用in进行查询
{
"name":{
$in:["John","Peter"]
}
}
使用模糊查询,name 包含yaohoo的
{"name":/yaohoo/}
start with query 以...开始
{"name":/^zhang/}
update document
update query in mongodb 打开mongoshell终端
// 更新name=join的document, 如果有多个匹配John的document只更新一个.update => .updateOne
如果要一次更新多个document就用updateMany
db.student.update(
{
"name":"John"
},
{
$set: {
"mail":"john@gmail.com",
"name":"john"
}
}
)
delete document
delete query in mongodb
// 这个会删除所有name是John的document。包含多条记录。
db.student.remove(
{
"name":"John"
}
)
find query
db.student.find({
"name":"John"
})
db.student.find({
$and:[....]
})
3.3 使用springboot mongodb example
package com.example.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.example.entity.Student;
import com.example.repository.StudentRepository;
@Service
public class StudentService {
@Autowired
StudentRepository studentRepository;
public Student createStudent (Student student) {
return studentRepository.save(student);
}
public Student getStudentbyId(String id) {
return studentRepository.findById(id).get();
}
public List<Student> getAllStudents() {
return studentRepository.findAll();
}
public Student updateStudent (Student student) {
return studentRepository.save(student);
}
public String deleteStudent (String id) {
studentRepository.deleteById(id);
return "Student has been deleted.";
}
public List<Student> getStudentsByName (String name) {
return studentRepository.findByName(name);
}
public Student studentsByNameAndMail (String name, String email) {
return studentRepository.findByEmailAndName(email, name);
}
public Student studentsByNameOrMail (String name, String email) {
return studentRepository.findByNameOrEmail(name, email);
}
public List<Student> getAllWithPagination (int pageNo, int pageSize) {
Pageable pageable = PageRequest.of(pageNo - 1, pageSize);
return studentRepository.findAll(pageable).getContent();
}
public List<Student> allWithSorting () {
Sort sort = Sort.by(Sort.Direction.ASC, "name", "email");
return studentRepository.findAll(sort);
}
public List<Student> byDepartmentName (String deptName) {
return studentRepository.findByDepartmentDepartmentName(deptName);
}
public List<Student> bySubjectName (String subName) {
return studentRepository.findBySubjectsSubjectName(subName);
}
public List<Student> emailLike (String email) {
return studentRepository.findByEmailIsLike(email);
}
public List<Student> nameStartsWith (String name) {
return studentRepository.findByNameStartsWith(name);
}
}