MongoDB:數據庫初步應用

一.連接MongoDB

1.MongoDBCompass連接數據庫

連接路徑:mongodb://用戶名:密碼@localhost:27017/

2.創建數據庫(集合)

MongoDB中數據庫被稱為集合.

?MongoDBCompass連接后,點擊紅色框加號創建集合,點擊藍色框加號創建文檔(數據表)

文檔中的數據結構(相當于表中的列)設計不用管,添加數據的時候,自動創建列和數據類型.

3.在集合中添加數據

可以將JSON文件添加到集合中.如果是多條數據結構應該如下,不然會提示格式錯誤

[{ ... },{ ... },{ ... }]

如果是多條數據,最外層應該是[ ] , 這個和從MySql導出來的數據有點點不一樣,如果是從MySQL中導出的話,要把json文檔打開,按照上面這個格式去掉頭尾.

二. Spring Boot 連接MongoDB

1.pom添加引用

<!--        添加mongodb引用--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>

?2.yml添加連接配置

spring:data:mongodb:uri: mongodb://用戶名:密碼@127.0.0.1:27017/fresh_mall?authSource=admin

上面的用戶名和密碼替換你自己的,如果不添加 ?authSource=admin 會提示權限錯誤.

三. Spring Boot 操作MongoDB

1. 創建MongoDB對應的實體類

@Getter
@Setter
@Document("user_address")
@Schema(name = "UserAddress", description = "用戶地址")
public class UserAddress implements Serializable {private static final long serialVersionUID = 1L;@Schema(description = "主鍵")@Field("uuid")private String uuid;@Schema(description = "用戶編號")@Field("userId")private String userId;
}

上面代碼中@Document注解對應MongoDB中的集合名稱,@Field注解對應集合中的字段名,這樣配置之后MongoDB會自動完成實體到數據的映射.

2.通過MongoTemplate進行數據操作

@Resourceprivate MongoTemplate mongoTemplate;    //mongoDB操作模板@Overridepublic List<UserAddress> getAddressByUserId(String uid) {//創建查詢對象Query query = new Query();//配置查詢標準query.addCriteria(Criteria.where("userId").is(uid));List<UserAddress> list = mongoTemplate.find(query,UserAddress.class);return list;}

這個代碼會自動查找user_address集合,因為實體類做了配置,并且在查找到內容之后,自動完成數據到對象的映射.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41600.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41600.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41600.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

騰訊云國際輕量應用服務器使用流程是什么呢?

騰訊云國際輕量應用服務器怎么使用呢&#xff1f;下面一起來了解一下&#xff1a; 1. 熟悉輕量應用服務器基礎知識 ①什么是輕量應用服務器 TencentCloud Lighthouse&#xff1f; ②輕量應用服務器與云服務器 CVM 的區別是什么&#xff1f; ③為什么選擇輕量應用服務器&#xf…

一個DW的計算

一個DW的計算 1- 題目: 已知一個DW1.1 要求: 從DW中取出指定的位的值1.1.1 分析1.1.2 實現1.1.3 簡化實現1.1.4 驗證 2- 題目: 已知一個DW2.1 要求: 從DW中的指定的P和S,取出指定的位的值2.1.1 分析2.1.2 實現 1- 題目: 已知一個DW 有圖中所示一行信息&#xff0c;表示一個DW(…

常見的Web安全漏洞有哪些,Web安全漏洞常用測試方法介紹

Web安全漏洞是指在Web應用程序中存在的可能被攻擊者利用的漏洞&#xff0c;正確認識和了解這些漏洞對于Web應用程序的開發和測試至關重要。 一、常見的Web安全漏洞類型&#xff1a; 1、跨站腳本攻擊(Cross-Site Scripting&#xff0c;XSS)&#xff1a;攻擊者通過向Web頁面注入…

神經網絡基礎-神經網絡補充概念-41-梯度的數值逼近

概念 梯度的數值逼近是一種用于驗證梯度計算正確性的方法&#xff0c;它通過近似計算梯度來與解析計算的梯度進行比較。雖然數值逼近在實際訓練中不常用&#xff0c;但它可以用來檢查手動或自動求導的實現是否正確。 代碼實現 import numpy as np# 定義函數 f(x) x^2 def f…

養生的年輕人,自己給自己“治病”

【潮汐商業評論/原創】 “最近嘴周總長痘&#xff0c;應該是上火了&#xff0c;我這就下單點金銀花露喝。”對于長痘這件事&#xff0c;Anna的第一反應就是“內調”。 “針對性護膚和涂藥這些方法治標不治本&#xff0c;就算用完痘痘不泛紅且癟了&#xff0c;身體里的問題沒解…

上傳文件報413Request EntityToo Large錯誤解決辦法

產生這種原因是因為服務器限制了上傳大小 1、nginx服務器的解決辦法 修改nginx.conf的值就可以解決了 將以下代碼粘貼到nginx.conf內 client_max_body_size 20M 可以選擇在http{ }中設置&#xff1a;client_max_body_size 20m; 也可以選擇在server{ }中設置&#xff1a;cli…

金蝶軟件實現Excel數據復制分錄信息粘貼到單據體分錄行中

>>>適合KIS云專業版V16.0|KIS云旗艦版V7.0|K/3 WISE 14.0等版本<<< 實現Excel數據復制分錄信息粘貼到金蝶單據體分錄中,在采購訂單|采購入庫單|銷售訂單|銷售出庫單等類型單據中,以少量的必要字段在excel表格中按模板填列好,很方便快捷地復制到金蝶單據表體…

java+springboot+mysql銀行管理系統

項目介紹&#xff1a; 使用javaspringbootmysql開發的銀行管理系統&#xff0c;系統包含超級管理員、管理員、客戶角色&#xff0c;功能如下&#xff1a; 超級管理員&#xff1a;管理員管理&#xff1b;客戶管理&#xff1b;卡號管理&#xff08;存款、取款、轉賬&#xff09…

Vue 2混入

混入&#xff08;Mixins&#xff09;是一種在Vue組件中重用代碼的方式。它允許你定義一些可復用的選項對象&#xff0c;然后將這些選項合并到不同的組件中。混入可以用于在多個組件之間共享邏輯、方法、生命周期鉤子等。 示例&#xff1a; <!DOCTYPE html> <html>…

.net core介紹

.NET Core&#xff08;現在已經重命名為.NET 5及更高版本為.NET&#xff09;是一個跨平臺的開源開發框架&#xff0c;由Microsoft開發和維護。它旨在支持構建現代、高性能、可擴展的應用程序&#xff0c;可以運行在Windows、macOS和Linux等多個操作系統上。 以下是.NET Core的…

記一次微信小游戲滲透測試

本文轉載于&#xff1a;https://www.freebuf.com/vuls/371936.html 準備工作 因為目標站點只能用微信打開&#xff0c;微信又不能調試看代碼。這里推薦可以使用pc端舊版微信3.2.1&#xff0c;具體方法放鏈接里&#xff1a; https://blog.csdn.net/qq_45863248/article/details/…

Springboot 封裝整活 Mybatis 動態查詢條件SQL自動組裝拼接

前言 ps&#xff1a;最近在參與3100保衛戰&#xff0c;戰況很激烈&#xff0c;剛剛打完仗&#xff0c;來更新一下之前寫了一半的博客。 該篇針對日常寫查詢的時候&#xff0c;那些動態條件sql 做個簡單的封裝&#xff0c;自動生成&#xff08;拋磚引玉&#xff0c;搞個小玩具&a…

chatgpt多個key循環使用解決token限速

itertools.cycle 是 Python 標準庫中的一個函數&#xff0c;它用于創建一個無限循環迭代器。它接受一個可迭代對象作為參數&#xff0c;并會不斷重復該可迭代對象的元素。 使用 itertools.cycle 可以方便地創建一個可以無限循環的迭代器。當你需要反復訪問一個可迭代對象的元素…

【Linux操作系統】深入探索Linux進程:創建、共享與管理

進程的創建是Linux系統編程中的重要概念之一。在本節中&#xff0c;我們將介紹進程的創建、獲取進程ID和父進程ID、進程共享、exec函數族、wait和waitpid等相關內容。 文章目錄 1. 進程的創建1.1 函數原型和返回值1.2 函數示例 2. 獲取進程ID和父進程ID2.1 函數原型和返回值2.…

接口測試及接口抓包常用測試工具和方法?

作為測試領域中不可或缺的一環&#xff0c;接口測試和抓包技術在軟件開發過程中扮演著至關重要的角色。不論你是新手還是有一些經驗的小伙伴&#xff0c;本篇文章都會為你詳細介紹接口測試的基本概念、常用測試工具和實際操作技巧&#xff0c;讓你輕松掌握這一技能。 接口測試…

Java數字化智慧工地管理云平臺源碼(人工智能、物聯網、大數據)

智慧工地優勢&#xff1a;"智慧工地”將施工企業現場視頻管理、建筑起重機械安全監控、現場從業人員管理、物料管理、進度管理、揚塵噪聲監測等現場設備有機、高效、科學、規范的結合起來真正實現工程項目業務流與現場各類監控源數據流的有效結合與深度配合&#xff0c;實…

在Hive/Spark上運行執行TPC-DS基準測試 (ORC和TEXT格式)

目前,在Hive/Spark上運行TPC-DS Benchmark主要是通過早期由Hortonworks維護的一個項目:hive-testbench 來完成的。本文我們以該項目為基礎介紹一下具體的操作步驟。不過,該項目僅支持生成ORC和TEXT格式的數據,如果需要Parquet格式,請參考此文《在Hive/Spark上執行TPC-DS基…

動態代理有幾種方式,可以借助Mybatis-plus里面的檢驗動態類

動態代理有很多的分類&#xff1b; 1、JDK原生的動態代理&#xff1b; 2、Spring實現的基于cglib里面的工廠實例化對象&#xff1b; 3、基于原生的cglib造出來的對象 4、基于字節碼的反編譯&#xff1a;assistant 具體的實現類參考&#xff1a; public final class ClassU…

【JVM】對String::intern()方法深入詳解(JDK7及以上)

文章目錄 1、什么是intern&#xff1f;2、經典例題解釋例1例2例3 1、什么是intern&#xff1f; String::intern()是一個本地方法&#xff0c;它的作用是如果字符串常量池中已經包含一個等于此String對象的字符串&#xff0c;則返回代表池中這個字符串的String對象的引用&#…

Java開源項目mall學習筆記(1)——項目初始化

一、學習聲明與項目介紹 該筆記是記錄學習開源項目mall過程的文檔筆記&#xff0c;完全原創&#xff0c;轉載請聲明。同時也對開源項目的作者表示感謝&#xff01; mall: &#x1f525; mall項目是一套基于 SpringBoot Vue uni-app 實現的電商系統&#xff0c;包括前臺商城項…