当前位置: 首页 > web >正文

mongodb学习

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 {@AutowiredStudentRepository 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);}}

http://www.xdnf.cn/news/18336.html

相关文章:

  • Rust 入门 返回值和错误处理 (二十)
  • 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET... 拒绝访问
  • 跟踪不稳定目标:基于外观引导的运动建模实现无人机视频中的鲁棒多目标跟踪
  • GeoTools 读取影像元数据
  • OpenHarmony 之多模态输入子系统源码深度架构解析
  • Web3.0 时代的电商系统:区块链如何解决信任与溯源问题?
  • SWMM排水管网水力、水质建模及在海绵与水环境中的应用
  • C++常见面试题-2.C++类相关
  • EPM240T100I5N Altera FPGA MAX II CPLD
  • 深度学习-167-MCP技术之工具函数的设计及注册到MCP服务器的两种方式
  • TensorFlow 面试题及详细答案 120道(11-20)-- 操作与数据处理
  • 【Linux】文件系统
  • 前端面试核心技术30问
  • 《C++进阶之STL》【二叉搜索树】
  • 神经网络中的那些关键设计:从输入输出到参数更新
  • Python 函数进阶:深入理解参数、装饰器与函数式编程
  • Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
  • 暴雨中的“天眼”:天通哨兵PS02卫星图传系统筑牢防汛安全网
  • 前端面试题1
  • 边缘智能体:Go编译在医疗IoT设备端运行轻量AI模型(上)
  • Springboot使用Selenium+ChormeDriver在服务器(Linux)端将网页保存为图片或PDF
  • Rust学习笔记(七)|错误处理
  • 0819 使用IP多路复用实现TCP并发服务器
  • 反向代理实现服务器联网
  • Auto-CoT:大型语言模型的自动化思维链提示技术
  • 微服务-08.微服务拆分-拆分商品服务
  • 深度学习环境搭建Windows+ TensorFlow 2.6.0 GPU 版
  • 亚矩阵云手机智能定位:助力Snapchat矩阵账号的本地化内容运营穿透技术
  • Apache IoTDB(4):深度解析时序数据库 IoTDB 在Kubernetes 集群中的部署与实践指南
  • 连接远程服务器上的 jupyter notebook,解放本地电脑