日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java开发学习--MongoDB

發布時間:2025/3/18 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java开发学习--MongoDB 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前只學過sql,第一次使用非關系型數據庫。以前對于關系型數據庫與非關系型數據庫的概念很模糊,通過這次的學習對這兩者有了一個清晰的概念。

主鍵
在MongoDB中,主鍵名叫"_id",如果在生成數據的時候,用戶不主動為其分配一個主鍵的話,MongoDB會自動生成一個隨機分配的值。


第一條數據是我一開始忘了分配主鍵,MongoDB自動生成的值,類型為ObjectId。

第二條數據是我主動分配主鍵,類型為String。

查詢的時候也不一樣:

查詢語句(find)
集合簡單查詢方法

MongoDB語法:db.colloection.find()
sql:select * from collection
復制代碼
collection是集合的名稱,類似于sql的table。

返回制定的鍵值
MongoDB:db.collection.find({},{"teamName":1})
sql:select teamName from collection復制代碼
條件過濾
MongoDB:db.collection.find({"teamName":"good"})
sql:select * from collection where teamName = "good"復制代碼
查詢全格式
db.collection.find({查詢條件},{查詢列})復制代碼
增(insert):
db.team.insert({"teamName":"111","creator":"xxx"})復制代碼
刪(remove):
db.team.remove({"teamName":"111"})復制代碼
不帶參數將會刪除全部數據。

改(update):
db.team.update({條件},{$set:{新數據}})復制代碼
例如:修改id為111的team的名字

db.team.update({"_id":"111"},{$set:{"teamName":"999"}})復制代碼
查詢操作符

聯表查詢
因為MongoDB是非關系型數據庫,而非關系型數據庫有一個特點就是表之間屬于弱關聯。但是我在網上看到一種能夠實現MongoDB關聯查詢的一種方法。

db.product.aggregate([
{
$lookup://關聯
{
from: "orders", // 需要關聯的表
localField: "_id", // product 表需要關聯的鍵
foreignField: "pid", // orders 的 matching key
as: "inventory_docs" // 對應的外鍵集合的數據
}
},
{
$match: {//篩選數據
price: { $gt:20 }
}
},
{
$project:{//獲取指定字段
"inventory_docs": 1,
"_id": 0
}
}
])
復制代碼
$lookup:關聯表

$match:篩選數據

$project:獲取指定字段

轉載于:https://blog.51cto.com/14028890/2332718

總結

以上是生活随笔為你收集整理的Java开发学习--MongoDB的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。